/*
Theme Name: Moshfest
Description: Moshfest 2026 landing page. Original responsive artwork, fonts and social links.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: moshfest
*/

@font-face{font-family:Mortir;src:url('assets/mortir.otf') format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url('assets/poppins-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url('assets/poppins-bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{color-scheme:dark;--green:#00b87a}*{box-sizing:border-box}body{margin:0;background:#080704;color:white;font-family:Poppins,Arial,sans-serif}h1,h2,p,figure{margin:0}.page{container-type:inline-size;position:relative;width:100%;max-width:1600px;margin:auto;background:url('assets/page-background-taller.webp') center top/100% 100% no-repeat;aspect-ratio:1310/2198}.hero{position:absolute;inset:0 0 auto;height:22.3621%}.event-logo{position:absolute;width:30%;left:5.2%;top:17%}.days{position:absolute;left:41%;right:12%;top:14.5%;display:grid;grid-template-columns:1fr 1fr;gap:16%}.day h2{font:400 2.1cqw/1.1 Mortir,serif;text-transform:lowercase;text-align:center;color:var(--green);white-space:nowrap;margin-bottom:1cqw}.lineup{display:grid;grid-template-rows:6.8cqw 6.8cqw 6.8cqw;gap:.8cqw;align-items:center}.lineup img{display:block;width:100%;max-height:7cqw;object-fit:contain}.intro{position:absolute;left:17%;width:66%;top:23.4806%;color:#050805}.intro h1{font:400 4.25cqw/1.25 Mortir,serif;text-transform:lowercase;margin-bottom:1.65cqw;letter-spacing:0}.intro p,.band-list{font-size:max(16px,1.28cqw);line-height:1.18;font-weight:400}.band-list{list-style:none;padding:0;margin:1.7cqw 0}.signoff{font-size:1.9cqw!important;line-height:1.25!important;font-weight:700!important;margin-top:1.65cqw}.bands{position:absolute;top:calc(49.9643% - 60px);left:4.5%;width:90.8%}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3.3cqw 3.2cqw}.band img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}.tickets{position:absolute;top:87.3281%;left:20%;width:60%;color:var(--green);text-align:center}.tickets h2{font:400 4.45cqw/1.05 Mortir,serif;text-transform:lowercase}.tickets p{font:400 2.55cqw/1.05 Mortir,serif;text-transform:lowercase}.venue{position:absolute;left:8.6%;top:92.3596%;width:65.5%}.venue img{display:block;width:100%;height:auto}.social-links{position:absolute;left:76.8%;top:92.8255%;width:18%;display:flex;align-items:center;justify-content:space-between;gap:12px}.social-links a{display:flex;align-items:center;justify-content:center;flex:0 1 4.5cqw;width:4.5cqw;height:4.5cqw;min-width:44px;min-height:44px;color:var(--green);background:transparent;border:0;transition:opacity .18s}.social-links a:hover{opacity:.75}.social-links a:focus-visible{outline:3px solid white;outline-offset:4px}.social-links svg{width:3.5cqw;height:3.5cqw;min-width:28px;min-height:28px}.social-links a[aria-label='TikTok']{order:2}.social-links a[aria-label='Instagram']{order:3}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:1099px){.page{aspect-ratio:auto;background:#080704 url('assets/lower-background.webp') center bottom/100% auto no-repeat;padding-bottom:38px}.hero{position:relative;height:auto;min-height:350px;padding:40px 24px;background:url('assets/mobile-header-background.webp') center/cover no-repeat;display:flex;align-items:center;gap:6%}.event-logo{position:static;width:32%;height:auto}.days{position:static;flex:1;display:grid;gap:12%;}.day h2{font-size:26px;margin-bottom:12px}.lineup{grid-template-rows:70px 70px 70px;gap:8px}.lineup img{max-height:70px}.intro{position:relative;left:auto;top:auto;width:auto;padding:45px max(24px,12vw) 100px;background:#009969 url('assets/intro-background.webp') center/100% 100% no-repeat}.intro h1{font-size:46px;line-height:1.2;margin-bottom:25px}.intro p,.band-list{font-size:16px;line-height:1.4}.band-list{margin:20px 0}.signoff{font-size:24px!important;margin-top:24px}.bands{position:relative;left:auto;top:auto;width:auto;margin:-95px auto 0;padding:0 30px}.grid{gap:25px}.tickets{position:static;width:auto;padding:40px 24px 20px}.tickets h2{font-size:52px}.tickets p{font-size:30px}.venue{position:static;width:75%;margin:15px auto}.social-links{position:static;width:auto;justify-content:center;gap:26px;margin:24px auto 10px}.social-links a{width:52px;height:52px;flex:0 0 52px}.social-links svg{width:36px;height:36px}}
@media(max-width:650px){.hero{display:block;padding:32px 22px 40px;background-size:cover;min-height:0}.event-logo{width:260px;max-width:85%;margin:0 auto 24px}.days{gap:24px}.day h2{font-size:24px}.lineup{grid-template-rows:60px 60px 60px;gap:10px}.lineup img{max-height:60px}.intro{padding:38px 24px 96px}.intro h1{font-size:38px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}.bands{padding:0 18px}.tickets h2{font-size:44px}.tickets p{font-size:28px}.venue{width:92%}.social-links{margin-top:24px}.page{background-size:100% auto}}
@media(prefers-reduced-motion:reduce){.social-links a{transition:none}}

.intro h1{margin-top:60px}

.band a{display:block;transition:transform .2s ease;text-decoration:none;position:relative}.band a:focus-visible{outline:3px solid var(--green);outline-offset:5px;transform:translateY(-4px)}@media(hover:hover){.band a:hover{transform:translateY(-4px)}}@media(prefers-reduced-motion:reduce){.band a{transition:none}.band a:hover,.band a:focus-visible{transform:none}}

.tickets h2{-webkit-text-stroke:10px #000;paint-order:stroke fill}.tickets p{-webkit-text-stroke:6px #000;paint-order:stroke fill;letter-spacing:.15em}

.moshfest-content{max-width:900px;margin:0 auto;padding:48px 24px}.moshfest-content a{color:var(--green)}
