.musical-journey{--journey-bg:#070609;--journey-card:#121017;--journey-purple:#a66cff;--journey-light:#d4baff;--journey-text:#f6f1fa;--journey-muted:#aaa1b1;--journey-border:#30263c;background:radial-gradient(circle at 80% 0, #7e43b433, transparent 28rem), var(--journey-bg);color:var(--journey-text);line-height:1.55}.musical-journey .hero{text-align:center;max-width:850px;margin:auto;padding:75px 24px 45px}.musical-journey .kicker{color:var(--journey-light);letter-spacing:.18em;text-transform:uppercase;font-size:.78rem}.musical-journey h1{margin:15px 0 20px;font:500 clamp(2.8rem,7vw,5.3rem)/1 Georgia,serif}.musical-journey .hero p{color:var(--journey-muted);max-width:650px;margin:auto}.musical-journey .upcoming{max-width:1000px;margin:0 auto 20px;padding:0 24px 10px}.musical-journey .upcoming-heading{text-align:center;margin-bottom:28px}.musical-journey .upcoming-title{color:#f3d9b0;margin:8px 0 0;font:500 clamp(2rem,4vw,2.8rem)/1 Georgia,serif}.musical-journey .upcoming-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.musical-journey .ticket{background:radial-gradient(circle at 0,#070609 10px,#0000 10.5px) 0/20px 20px no-repeat,radial-gradient(circle at 100%,#070609 10px,#0000 10.5px) 100%/20px 20px no-repeat,linear-gradient(135deg,#1c1510,#2a1d14 55%,#18110e) no-repeat;border:1px solid #7a5a32;border-radius:16px;min-height:168px;display:flex;overflow:hidden;box-shadow:0 16px 40px #00000052}.musical-journey .ticket-date{color:#f3d9b0;background:#f3d9b014;border-right:1px dashed #8a6a3d;flex-direction:column;justify-content:center;align-items:center;min-width:110px;padding:22px 16px;display:flex}.musical-journey .ticket-weekday,.musical-journey .ticket-month{letter-spacing:.16em;text-transform:uppercase;font-size:.78rem;font-weight:700}.musical-journey .ticket-day{margin:6px 0 4px;font:500 3rem/1 Georgia,serif}.musical-journey .ticket-body{flex-direction:column;justify-content:center;padding:22px 24px 22px 22px;display:flex}.musical-journey .ticket-label{color:#e8c48a;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:.74rem;font-weight:700}.musical-journey .ticket h3{color:var(--journey-text);margin:0 0 8px;font:500 clamp(1.45rem,3vw,1.9rem)/1.1 Georgia,serif}.musical-journey .attended-heading{z-index:2;text-align:center;margin:18px 0 8px;position:relative}.musical-journey .attended-title{margin:8px 0 0;font:500 clamp(2rem,4vw,2.8rem)/1 Georgia,serif}.musical-journey .timeline{max-width:1000px;margin:auto;padding:10px 24px 90px;position:relative}.musical-journey .timeline:before{content:"";background:linear-gradient(var(--journey-purple), #4a2c68, transparent);width:2px;position:absolute;top:0;bottom:60px;left:50%}.musical-journey .year{z-index:2;width:max-content;color:var(--journey-light);letter-spacing:.14em;background:#09080c;border:1px solid #684496;border-radius:30px;margin:38px auto 25px;padding:6px 18px;font-weight:700;position:relative}.musical-journey .card{border:1px solid var(--journey-border);background:linear-gradient(145deg,#111016,#19151f);border-radius:18px;width:calc(50% - 38px);margin-bottom:30px;padding:15px;position:relative;overflow:hidden;box-shadow:0 18px 45px #00000047}.musical-journey .card.left{margin-right:auto}.musical-journey .card.right{margin-left:auto}.musical-journey .card:after{content:"";background:var(--journey-purple);width:12px;height:12px;box-shadow:0 0 0 4px #08070a, 0 0 0 6px var(--journey-purple);border-radius:50%;position:absolute;top:31px}.musical-journey .card.left:after{right:-45px}.musical-journey .card.right:after{left:-45px}.musical-journey .photo{background:#0c0a10;border:1px solid #30263c;border-radius:12px;width:100%;height:245px;margin-bottom:16px;overflow:hidden}.musical-journey .photo img{object-fit:cover;width:100%;height:100%;display:block}.musical-journey .photo.portrait img{object-position:center 32%}.musical-journey .photo.ep img{object-position:center 43%}.musical-journey .photo.girl img{object-position:center 37%}.musical-journey .photo.elle img{object-position:center 34%}.musical-journey .photo.billie img{object-position:center 28%}.musical-journey .photo.maisie img{object-position:center 38%}.musical-journey .photo.conan img{object-position:center 48%}.musical-journey .photo.renee img{object-position:center 28%}.musical-journey .photo.forest{height:420px}.musical-journey .photo.forest img{object-position:center 40%}.musical-journey .photo.beabadoobee img{object-position:center 42%}.musical-journey .photo.melanie img{object-position:center 45%}.musical-journey .photo.mitski img{object-position:center 42%}.musical-journey .photo.hex img,.musical-journey .photo.malefactors img{object-position:center 45%}.musical-journey .photo.cate img{object-position:center 32%}.musical-journey .performance{background:linear-gradient(145deg,#17111f,#21142e);border-color:#7951a8;width:100%;padding:18px;margin-left:0!important;margin-right:0!important}.musical-journey .performance:after{top:-36px;transform:translate(-50%);left:50%!important;right:auto!important}.musical-journey .placeholder{text-align:center;color:#746a7c;background:linear-gradient(135deg,#a66cff17,#ffffff04);border:1px dashed #453653;border-radius:12px;justify-content:center;align-items:center;height:100%;padding:20px;display:flex}.musical-journey .performance .placeholder{color:var(--journey-light);min-height:210px}.musical-journey .date{color:var(--journey-light);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:700}.musical-journey h2{margin:4px 0 2px;font:500 1.65rem Georgia,serif}.musical-journey .venue{color:var(--journey-muted);font-size:.94rem}.musical-journey .note{border-top:1px solid var(--journey-border);color:#ddd4e5;margin-top:12px;padding-top:11px;font-size:.91rem;font-style:italic}@media (width<=760px){.musical-journey .upcoming-grid{grid-template-columns:1fr}.musical-journey .timeline:before{left:27px}.musical-journey .year{margin-left:0}.musical-journey .card,.musical-journey .card.left,.musical-journey .card.right{width:calc(100% - 34px);margin-left:34px;margin-right:0}.musical-journey .card.left:after,.musical-journey .card.right:after{left:-42px;right:auto}.musical-journey .photo{height:260px}.musical-journey .hero{padding-top:55px}}
