/* Clean, independent artwork from AlpEvent's own mockup files. */
.face-lineup{display:flex;align-items:center;justify-content:center;isolation:isolate;width:min(680px,100%);margin-inline:auto;padding:18px 0}
.face-lineup img{width:22%;height:auto;object-fit:contain;margin-left:-3%;filter:drop-shadow(0 10px 18px #0003);transform:rotate(-8deg)}
.face-lineup img:first-child{margin-left:0;transform:rotate(-12deg)}.face-lineup img:nth-child(2){transform:translateY(-9px) rotate(5deg)}.face-lineup img:nth-child(3){z-index:1;transform:translateY(-15px)}.face-lineup img:nth-child(4){transform:rotate(-5deg)}.face-lineup img:last-child{transform:rotate(10deg)}
.home-faces{height:225px;width:100%;padding:20px 15px}.home-faces img{width:24%;max-height:180px}.party-faces-hd{position:relative;margin-top:-70px;margin-bottom:15px;pointer-events:none;max-width:680px}
.service-illustration{width:min(100%,560px);max-height:none}.service-row{gap:30px}.process-panel{padding-inline:48px}.service-copy{text-align:left}.service-copy h3{font-size:clamp(1.45rem,2.3vw,1.8rem)}
.photo-pin .fixed-emoji{width:42px;height:42px;object-fit:contain}.hero-emojis .fixed-emoji{width:42px;height:42px}
.contact-illustrated{position:relative;isolation:isolate}.contact-illustrated h1,.contact-illustrated .lead{max-width:780px}.contact-chalet{position:absolute;right:-20px;bottom:-25px;z-index:-1;width:250px;height:250px;object-fit:contain;opacity:.85}.contact-illustrated .business-contact{max-width:660px}
.concept-art .concept-illustration{height:100%;width:100%;object-fit:contain;padding:18px}.concept-sprezzatura .concept-art{background:#153681}.concept-projet-x .concept-art{background:#cfff53}
.participation-art{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:45px}.participation-card{display:flex;align-items:center;gap:18px;background:#095ad2;border:1px solid #3984ec;border-radius:24px;color:white;padding:22px;text-decoration:none;min-width:0;transition:transform .25s}
.participation-card img{width:120px;height:130px;object-fit:contain;flex-shrink:0}.participation-card strong{font-size:1.3rem;line-height:1.25;display:block}.participation-card span span{font-size:1rem;line-height:1.5;display:block;margin-top:10px;color:#e5efff}.stage-illustration{width:min(620px,90%);height:auto;display:block;margin:55px auto 0}
.shop-hero{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:30px;padding-bottom:30px;min-height:300px}.shop-hero h1{margin:12px 0 20px}.shop-intro{font-size:1.1rem;line-height:1.6;max-width:460px}.shop-hero-art{display:flex;align-items:center;justify-content:center;position:relative;min-width:0;isolation:isolate}.shop-main-art{width:75%;max-height:330px;object-fit:contain}.shop-secondary-art{width:38%;max-height:240px;object-fit:contain;margin-left:-18%;align-self:flex-end;z-index:1}.page-boutique .shop-hero-art{background:#ded517;border-radius:40px;padding:20px}.page-boutique .shop-main-art{width:70%}.page-billetterie .shop-secondary-art{width:30%;margin-left:-16%;align-self:flex-start}
.page-boutique .shop-page,.page-billetterie .shop-page{padding-top:35px}.page-billetterie .shop-hero-art{background:#e8f0ff;border-radius:40px}.shop-page [data-commerce]{border-top:1px solid #b5c5de;padding-top:25px}
.registration-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}.registration-heading h1{max-width:600px}.registration-art{width:300px;max-height:220px;object-fit:contain}.commerce-form{margin-inline:auto}
.receipt-page{max-width:850px}.receipt-hero{text-align:center}.receipt-art{width:150px;height:150px;object-fit:contain;display:block;margin:0 auto -10px}.receipt-hero h1{margin-top:5px}.receipt-page [data-receipt]{background:#0755bd;color:#fff;padding:30px;border-radius:28px;font-size:1.05rem;line-height:1.65}.receipt-page [data-receipt] h2{line-height:1.3}.receipt-page .receipt-state{background:#fff;color:#074caa;margin-top:0}.receipt-page .event-actions{justify-content:center}.receipt-page .event-actions a{color:#0755bd}.receipt-page [data-receipt] .notice{color:#19344d}.receipt-page [data-receipt] .button{background:white;color:#0755bd}
.groove-detail-grid{grid-template-columns:1fr}.groove-detail-grid details{scroll-margin-top:110px}.groove-detail-grid details:first-child .detail-content{text-align:center}.framed-plan{padding:25px 40px;background:#d8b47b url('assets/enhanced/corkboard.webp') center/100% 100% no-repeat;border:0;border-radius:0;max-width:440px;box-shadow:none}
.charter-rules{display:grid;grid-template-columns:1fr 1fr;gap:20px}.charter-rule{display:flex;align-items:center;gap:20px;border-radius:18px;background:#131820;padding:22px;color:white;min-width:0}.charter-rule img{width:100px;height:100px;object-fit:contain;flex-shrink:0}.charter-rule h4{font-size:1.1rem;line-height:1.35;margin:0 0 8px}.charter-rule p{font-size:1rem!important;line-height:1.6!important;margin:0!important;color:#e2e7f0!important}.charter-ending{text-align:center;font-weight:700}.charter-rule:last-child{grid-column:1/-1;justify-content:center}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.participation-card:hover{transform:translateY(-5px)}.face-lineup img{transition:translate .3s}.home-option:hover .face-lineup img{translate:0 -6px}}
@media(max-width:900px){.contact-chalet{position:static;float:right;width:180px;height:180px;opacity:1;margin:0 0 15px 15px}.charter-rule{gap:12px;padding:18px}.charter-rule img{width:75px;height:90px}.participation-card img{width:95px}.process-panel{padding-inline:28px}.registration-art{width:230px}}
@media(max-width:700px){.party-faces-hd{margin-top:-28px;padding:6px 12px}.home-faces{height:160px}.process-panel{padding-inline:22px}.service-copy{text-align:center}.service-illustration{width:min(100%,430px);height:auto;max-height:none}.participation-art{grid-template-columns:1fr;gap:16px;margin-top:30px}.participation-card{padding:20px;gap:18px}.participation-card img{height:110px;width:100px}.stage-illustration{margin-top:30px;width:100%}.shop-hero{grid-template-columns:1fr;gap:18px;min-height:0;padding-bottom:28px}.shop-hero-art{max-width:420px;width:100%;justify-self:center}.shop-main-art{max-height:240px}.shop-secondary-art{max-height:180px}.shop-hero h1{margin-bottom:16px}.shop-intro{margin-bottom:0}.registration-heading{flex-direction:column;gap:0;align-items:flex-start}.registration-art{width:250px;align-self:center;margin-bottom:24px}.registration-heading h1{margin-bottom:20px}.charter-rules{grid-template-columns:1fr;gap:14px}.charter-rule img{width:80px;height:90px}.charter-rule:last-child{grid-column:auto;justify-content:flex-start}.receipt-page [data-receipt]{padding:24px 20px}.receipt-art{width:125px;height:125px}.contact-chalet{width:120px;height:130px}.contact-illustrated h1{font-size:clamp(2rem,7vw,3rem)}.framed-plan{padding:24px 30px}.photo-pin .fixed-emoji{width:32px;height:32px}}
@media(prefers-reduced-motion:reduce){.participation-card,.face-lineup img{transition:none}}
@media print{.receipt-art{display:none}.receipt-page [data-receipt]{background:white;color:black;border:1px solid #aaa}.receipt-page [data-receipt] h2,.receipt-page [data-receipt] p{color:black}}
.concept-intro{position:relative;isolation:isolate;padding-right:32%}.concept-hero-art{position:absolute;right:0;top:40px;width:32%;height:280px;object-fit:contain;z-index:-1}.page-projet-x .concept-hero-art{transform:rotate(-12deg)}
@media(max-width:700px){.concept-intro{padding-right:0}.concept-hero-art{position:static;display:block;height:200px;width:min(100%,300px);margin:0 auto 25px}.concept-intro h1{margin-bottom:15px}}
.home-faces img{height:auto;margin-bottom:0}.framed-plan{width:min(100%,720px);max-width:720px;padding:32px 12%;margin-inline:auto}.framed-plan img{max-height:430px;width:auto;max-width:100%;margin:auto;object-fit:contain}
@media(max-width:700px){.framed-plan{padding:24px 12%}.framed-plan img{max-height:340px}}
@media(max-width:420px){.charter-rule{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:center}.charter-rule img{width:64px;height:70px;grid-column:1;grid-row:1}.charter-rule>div{display:contents}.charter-rule h4{grid-column:2;grid-row:1;margin:0}.charter-rule p{grid-column:1/-1}}

/* Annual birthday celebration visual identity. */
.birthday-section{padding-bottom:90px;scroll-margin-top:calc(var(--header-height) + 20px)}
.birthday-panel{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);gap:42px;align-items:center;padding:52px 48px;background:#0761f5;color:#fff;border-radius:38px;position:relative;isolation:isolate}
.birthday-eyebrow{font-size:.875rem;text-transform:uppercase;font-weight:700;letter-spacing:.09em;margin:0 0 18px;color:#fff}
.birthday-copy h2{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(2rem,3.1vw,3rem);font-weight:900;line-height:1.12;letter-spacing:.005em;margin:0 0 23px;text-wrap:balance}
.birthday-copy h2 span{color:#ffdf54}.birthday-intro{font-size:1.0625rem;line-height:1.65;margin:0 0 27px;max-width:540px}
.birthday-copy .birthday-cta{background:#fff;color:#064ab9;display:inline-flex;gap:14px;align-items:center;justify-content:center;font-size:1rem;text-align:center;min-height:52px;line-height:1.4;padding:14px 22px}
.birthday-cta .ui-vector{flex:0 0 22px;width:22px;height:22px}.birthday-note{font-size:.875rem;line-height:1.55;color:#e2ecff;max-width:490px;margin:17px 0 0}
.birthday-visual{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;padding-top:20px}
.birthday-badge{display:inline-block;background:#ffdf54;color:#172454;font-weight:700;font-size:.95rem;padding:10px 17px;border-radius:99px;rotate:5deg;align-self:flex-end;position:relative;z-index:1}
.birthday-mascot{width:min(260px,90%);height:auto;display:block;margin:-6px 0 -22px;filter:drop-shadow(0 20px 20px #06339233)}
.birthday-rhythm{background:#fff;color:#113165;border-radius:24px;display:grid;grid-template-columns:1fr 1px 1.25fr;gap:18px;padding:22px 24px;width:100%;position:relative;z-index:1;box-shadow:0 15px 40px #04329430}
.birthday-rhythm p{margin:0;line-height:1.35}.birthday-rhythm p>span{display:block;font-size:.875rem;color:#597194;margin-bottom:6px}.birthday-rhythm strong{font-size:1.2rem;display:block}.birthday-rhythm-line{background:#d9e4f3;align-self:stretch}
.birthday-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin:35px 0 0;padding:0 8px}
.birthday-steps li{display:flex;gap:15px;align-items:flex-start}.birthday-step-number{color:#0761f5;font-size:1.25rem;font-weight:800;line-height:1.4;flex-shrink:0}
.birthday-steps h3{font-size:1.0625rem;color:#113165;line-height:1.4;margin:0 0 7px}.birthday-steps p{font-size:1rem;line-height:1.55;color:#53647b;margin:0}
@media(max-width:900px){.birthday-panel{gap:26px;padding:36px 30px}.birthday-rhythm{gap:12px;padding:18px 16px}.birthday-rhythm strong{font-size:1.0625rem}.birthday-steps{gap:20px}}
@media(max-width:700px){.birthday-section{padding-bottom:55px}.birthday-panel{grid-template-columns:1fr;padding:30px 23px 25px;border-radius:28px;gap:25px}.birthday-copy h2{font-size:2rem}.birthday-intro{font-size:1rem}.birthday-copy .birthday-cta{width:100%;padding:14px 15px}.birthday-visual{width:100%;max-width:360px;margin:auto;padding-top:0}.birthday-mascot{width:185px;margin-top:-4px}.birthday-badge{font-size:.875rem}.birthday-rhythm{padding:20px 18px}.birthday-steps{grid-template-columns:1fr;gap:24px;padding:0 8px;margin-top:30px}.birthday-step-number{min-width:32px}}
