@import "https://fonts.googleapis.com/css2?family=Archivo+Black&family=DM+Sans:wght@400;500;600;700&display=swap";
:root{--ink:#171712;--paper:#f2efe7;--acid:#d7ff3f;--orange:#ff5c35;--line:#ccc8bc;--soft:#e7e3d8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);margin:0;font-family:DM Sans,sans-serif}a{color:inherit;text-decoration:none}.siteHeader{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:1440px;height:78px;margin:auto;padding:0 44px;display:flex}.brand{text-transform:uppercase;letter-spacing:-.03em;align-items:center;gap:12px;font-weight:800;display:flex}.brandMark{background:var(--ink);width:38px;height:38px;color:var(--acid);place-items:center;font-family:Archivo Black;font-size:14px;display:grid;transform:rotate(-3deg)}nav{gap:30px;font-size:14px;font-weight:700;display:flex}nav a:hover{text-decoration:underline}main{min-height:calc(100vh - 160px)}footer{border-top:1px solid var(--line);color:#66645e;justify-content:space-between;max-width:1440px;margin:70px auto 0;padding:30px 44px;font-size:13px;display:flex}.languagePicker{align-items:center;gap:10px;font-weight:700;display:flex}.languagePicker select{border:1px solid var(--line);color:var(--ink);background:0 0;padding:7px 28px 7px 9px;font:600 12px DM Sans,sans-serif}.hero{border-bottom:1px solid var(--line);background:radial-gradient(circle at 88% 15%,#d7ff3fb3 0,#d7ff3f00 24%);max-width:1440px;margin:auto;padding:74px 44px 54px}.eyebrow{letter-spacing:.16em;font-size:12px;font-weight:800}.hero h1,.detailHero h1,.artistHero h1{text-transform:uppercase;letter-spacing:-.055em;margin:19px 0;font-family:Archivo Black,sans-serif;line-height:.91}.hero h1{max-width:1000px;font-size:clamp(56px,8.4vw,126px)}.hero h1 em{color:var(--orange);font-style:normal}.hero>p{color:#5b5952;max-width:650px;font-size:20px;line-height:1.5}.heroStats{text-transform:uppercase;letter-spacing:.07em;gap:34px;margin-top:44px;font-size:13px;display:flex}.heroStats strong{margin-right:7px;font-family:Archivo Black;font-size:22px}.explorer{max-width:1440px;margin:auto;padding:32px 44px}.filterBar{z-index:5;background:#171712f5;grid-template-columns:minmax(250px,1fr) 210px auto;gap:12px;padding:12px;display:grid;position:sticky;top:12px;box-shadow:0 10px 30px #00000029}.search{background:#fff;align-items:center;gap:10px;padding:0 16px;display:flex}.search span{font-size:25px}.search input,.filterBar select{background:#fff;border:0;outline:0;width:100%;padding:15px;font:600 14px DM Sans}.toggle{color:#fff;white-space:nowrap;cursor:pointer;align-items:center;gap:10px;padding:0 14px;font-size:13px;font-weight:700;display:flex}.toggle input{display:none}.toggle span{background:#5b5a53;border-radius:20px;width:38px;height:22px;transition:all .2s;position:relative}.toggle span:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:all .2s;position:absolute;top:3px;left:3px}.toggle input:checked+span{background:var(--acid)}.toggle input:checked+span:after{background:var(--ink);transform:translate(16px)}.resultMeta{color:#6f6c63;text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;margin:35px 0 15px;font-size:12px;font-weight:700;display:flex}.festivalGrid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.festivalCard{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#ffffff17;flex-direction:column;min-width:0;min-height:390px;padding:25px;transition:all .18s;display:flex}.festivalCard:hover{z-index:2;background:#fff;transform:translateY(-4px);box-shadow:0 15px 30px #00000017}.cardTop{justify-content:space-between;align-items:flex-start;margin-bottom:38px;display:flex}.festivalLogo{border:1px solid var(--line);background:#fff;place-items:center;width:68px;height:54px;padding:8px;display:grid;overflow:hidden}.festivalLogo img{object-fit:contain;width:100%;height:100%;display:block}.festivalLogo span{font-family:Archivo Black;font-size:20px}.festivalLogo.large{flex:none;width:150px;height:120px;padding:18px}.festivalLogo.large span{font-size:40px}.status{text-transform:uppercase;letter-spacing:.09em;border:1px solid;width:max-content;padding:5px 8px;font-size:10px;font-weight:800;display:inline-flex}.status.confirmed{color:#356800;background:#e5ffc0}.status.partial{color:#8b3700;background:#ffe0b7}.status.tba{color:#77746c}.date{letter-spacing:.12em;color:#68655d;text-transform:uppercase;font-size:12px;font-weight:800}.festivalCard h2{text-transform:uppercase;letter-spacing:-.04em;margin:10px 0 7px;font-family:Archivo Black;font-size:27px;line-height:1.05}.location{color:#67655f;font-size:13px}.artists{flex-wrap:wrap;gap:6px;margin-top:20px;display:flex}.artists span{background:var(--soft);padding:5px 8px;font-size:11px;font-weight:700}.artists .muted{color:#89867e;background:0 0;padding-left:0;font-weight:500}.cardFoot{border-top:1px solid var(--line);justify-content:space-between;margin-top:auto;padding-top:24px;font-size:12px;display:flex}.cardFoot b{color:#d7431e}.empty{text-align:center;border:1px solid var(--line);color:#777;padding:80px}.detailPage,.artistPage{max-width:1280px;margin:auto;padding:34px 44px}.back{font-size:13px;font-weight:700;text-decoration:underline}.detailHero{background:var(--ink);color:#fff;background-image:radial-gradient(circle at 90% 20%,#574d10,#0000 30%);align-items:center;gap:45px;margin:45px 0;padding:55px;display:flex}.detailHero h1{max-width:920px;font-size:clamp(45px,7vw,96px)}.detailDate{color:#d0cdc4;font-size:18px}.detailHero .status{margin-top:15px}.actionGrid{border:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.actionGrid>a,.actionGrid>div{border-right:1px solid var(--line);flex-direction:column;gap:8px;min-height:96px;padding:24px;display:flex}.actionGrid>a:hover{background:var(--acid)}.actionGrid small{color:#77746d;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.actionGrid .disabled{opacity:.5}.lineupSection{padding:72px 0 25px}.sectionHeading{border-bottom:3px solid var(--ink);justify-content:space-between;align-items:flex-end;padding-bottom:20px;display:flex}.sectionHeading h2{text-transform:uppercase;letter-spacing:-.05em;margin:8px 0 0;font-family:Archivo Black;font-size:50px}.sectionHeading>span{text-transform:uppercase;letter-spacing:.08em;font-size:12px}.lineupSection h3{text-transform:uppercase;letter-spacing:.12em;margin:36px 0 13px;font-size:12px}.headlinerGrid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.headlinerGrid a{background:var(--ink);color:#fff;text-transform:uppercase;flex-direction:column;justify-content:space-between;min-height:130px;padding:22px;font:24px Archivo Black;display:flex}.headlinerGrid a:hover{background:var(--orange)}.headlinerGrid span{letter-spacing:.06em;font:11px DM Sans}.lineupGrid{border-left:1px solid var(--line);border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.lineupGrid a{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px;font-size:13px;font-weight:700}.lineupGrid a:hover{background:#fff}.lineupEmpty{border:1px solid var(--line);flex-direction:column;gap:10px;margin-top:25px;padding:45px;display:flex}.sourceNote{background:#e6e2d7;grid-template-columns:180px 1fr auto;align-items:center;gap:20px;margin-top:60px;padding:24px;font-size:13px;display:grid}.sourceNote p{color:#605e58}.sourceNote a{font-weight:700;text-decoration:underline}.artistHero{border-bottom:3px solid var(--ink);align-items:center;gap:30px;padding:65px 0 35px;display:flex}.artistHero h1{font-size:clamp(45px,7vw,90px)}.artistHero p{color:#6a675f}.artistMonogram{background:var(--orange);place-items:center;width:120px;height:120px;font:58px Archivo Black;display:grid;transform:rotate(-3deg)}.artistActions{gap:10px;padding:20px 0;display:flex}.artistActions a{border:1px solid var(--ink);padding:12px 16px;font-size:12px;font-weight:800}.artistActions a:hover{background:var(--acid)}.appearances{margin-top:50px}.appearances>.eyebrow{margin-bottom:14px}.appearances>a{border-top:1px solid var(--line);grid-template-columns:50px 1fr 1fr 30px;align-items:center;padding:19px 10px;display:grid}.appearances>a:last-child{border-bottom:1px solid var(--line)}.appearances>a:hover{background:#fff}.appearances span,.appearances em{color:#706d65;font-size:13px;font-style:normal}@media (max-width:900px){.festivalGrid{grid-template-columns:repeat(2,1fr)}.filterBar{grid-template-columns:1fr 180px}.toggle{grid-column:1/-1;padding:8px}.actionGrid,.headlinerGrid{grid-template-columns:repeat(2,1fr)}.lineupGrid{grid-template-columns:repeat(3,1fr)}.sourceNote{grid-template-columns:1fr}.detailHero{padding:35px}.festivalLogo.large{width:110px;height:90px}}@media (max-width:600px){.siteHeader,.hero,.explorer,.detailPage,.artistPage{padding-left:20px;padding-right:20px}.siteHeader nav a:last-child{display:none}.hero{padding-top:45px}.heroStats{flex-direction:column;gap:8px}.filterBar{grid-template-columns:1fr;position:relative;top:0}.filterBar select,.toggle{grid-column:auto}.festivalGrid{grid-template-columns:1fr}.festivalCard{min-height:350px}.resultMeta span:last-child{display:none}.detailHero{flex-direction:column;align-items:flex-start;gap:25px;padding:30px 22px}.detailHero h1{font-size:45px}.actionGrid{grid-template-columns:1fr}.actionGrid>a,.actionGrid>div{border-right:0;border-bottom:1px solid var(--line)}.sectionHeading h2{font-size:38px}.headlinerGrid,.lineupGrid{grid-template-columns:1fr}.sourceNote{display:block}.sourceNote p{margin:10px 0 18px}.artistHero{flex-direction:column;align-items:flex-start}.artistMonogram{width:80px;height:80px;font-size:38px}.artistActions{flex-wrap:wrap}.appearances>a{grid-template-columns:40px 1fr 25px}.appearances em{display:none}footer{padding:25px 20px;display:block}footer>span{margin:6px 0;display:block}.languagePicker{margin-top:18px}.languagePicker span{margin:0}}
