:root{--ink:#22102f;--cream:#fff0d2;--orange:#ff9b38;--purple:#b895e5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--ink);color:var(--cream);font-family:Arial,Helvetica,sans-serif;line-height:1.5}a{color:inherit;text-underline-offset:5px}header{display:flex;justify-content:space-between;align-items:center;padding:28px 6%;border-bottom:1px solid #ffffff25}.brand{font-weight:900;font-size:19px;line-height:1.05;text-decoration:none;letter-spacing:-.6px}.brand span{color:var(--orange)}nav{display:flex;align-items:center;gap:30px;font-size:13px}nav a{text-decoration:none}.nav-cta{border:1px solid #b895e580;border-radius:30px;padding:12px 20px}.hero{padding:60px 8% 65px;display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center;background:radial-gradient(ellipse at 15% 80%,#63305966,transparent 65%)}.eyebrow{font-size:11px;letter-spacing:2.4px;font-weight:bold;margin:0 0 24px}h1{font-size:clamp(54px,6.4vw,100px);line-height:.99;letter-spacing:-5px;margin:0 0 28px}em{font-family:Georgia,serif;font-weight:normal;color:var(--orange)}.intro{font-size:18px;color:#e3d0e8;margin-bottom:30px}.button{display:inline-flex;gap:25px;justify-content:space-between;align-items:center;background:var(--orange);color:var(--ink);padding:16px 24px;border-radius:40px;text-decoration:none;font-weight:bold;border:0;font-size:14px}.date-line{font-size:10px;letter-spacing:1.5px;margin-top:26px;color:var(--purple)}.poster{transform:rotate(3deg);max-width:440px;margin:auto;position:relative}.poster img{width:100%;display:block;box-shadow:12px 18px 0 #0f0718;border:1px solid #ffb34c70}.poster-caption{display:block;font-size:9px;letter-spacing:1.8px;margin-top:25px;text-align:center}.ribbon{background:var(--orange);color:var(--ink);padding:16px 0;font-size:24px;letter-spacing:4px;font-weight:900;white-space:nowrap;overflow:hidden}.section{padding:90px 8%}h2{font-size:clamp(40px,4.3vw,66px);line-height:1.08;letter-spacing:-2px;margin:0 0 24px}.event{display:grid;grid-template-columns:1fr 1fr;gap:13%;background:var(--cream);color:var(--ink)}.event em{color:#8946a1}.event-date{display:flex;align-items:center;gap:18px;margin-top:30px}.event-date strong{font-size:85px;line-height:1}.event-date span{font-size:13px;font-weight:bold}.address{font-size:19px}.text-link{display:inline-block;font-size:13px;margin:8px 20px 0 0}.lineup{border-left:1px solid #22102f30;padding-left:40px}.lineup h3{font-size:clamp(30px,3.5vw,52px);line-height:1.08;letter-spacing:-2px;margin:20px 0}.lineup h3 span{font:italic 25px Georgia}.activities{border-top:1px solid #22102f30;margin-top:35px}.activities p{font-size:14px}.activities b{display:block;font-size:15px}.small{font-size:12px;opacity:.8}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:32px}.section-heading>p{font-size:13px;color:#d0b8dd}.gallery{columns:3;column-gap:18px}.photo{padding:0;border:0;background:none;display:block;width:100%;margin:0 0 18px;cursor:zoom-in;overflow:hidden;border-radius:3px}.photo img{display:block;width:100%;transition:transform .3s}.photo:hover img{transform:scale(1.035)}.about{background:#b895e5;color:var(--ink);text-align:center}.about em{color:#632776}.about>p:not(.eyebrow){max-width:610px;margin:22px auto}.join{text-align:center;background:radial-gradient(ellipse at center,#60317770,transparent 65%)}.join p{color:#decbe8}.join .eyebrow{color:var(--orange)}.sun{display:block;font-size:85px;color:var(--orange);line-height:1;margin-bottom:30px}.join button{margin:20px 0 4px;opacity:.75;cursor:default}footer{border-top:1px solid #ffffff25;margin:0 6%;padding:30px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px}footer .brand{font-size:14px}dialog{border:1px solid var(--purple);background:var(--ink);color:var(--cream);max-width:95vw;max-height:95vh;padding:18px}dialog::backdrop{background:#08030de8}dialog img{display:block;max-height:75vh;max-width:85vw;margin:auto}dialog button{display:block;margin:0 0 15px auto;background:var(--cream);border:0;padding:8px 15px;cursor:pointer}dialog p{font-size:12px;text-align:center}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:var(--cream);color:var(--ink);padding:15px;z-index:5}:focus-visible{outline:3px solid #f464c8;outline-offset:5px}@media(max-width:700px){header{padding:22px 6%}.brand{font-size:15px}nav{gap:12px}nav>a:not(.nav-cta){display:none}.nav-cta{font-size:11px;padding:10px}.hero{grid-template-columns:1fr;padding:45px 7% 55px;gap:45px}h1{letter-spacing:-3px;font-size:62px}.poster{width:80%;max-width:360px}.section{padding:60px 7%}.event{grid-template-columns:1fr;gap:45px}.lineup{padding:30px 0 0;border-left:0;border-top:1px solid #22102f30}.section-heading{display:block}.gallery{columns:2;column-gap:10px}.photo{margin-bottom:10px}.section-heading>p{margin-bottom:25px}footer{flex-direction:column;align-items:start}h2{font-size:43px}.ribbon{font-size:18px}.intro{font-size:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Compact gallery; row order keeps related photographs apart. */
.gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;columns:auto}.photo{margin:0;aspect-ratio:3/4;border-radius:5px;position:relative;transition:transform .22s,box-shadow .22s;overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover}.photo:hover,.photo:focus-visible{transform:scale(1.09);z-index:2;box-shadow:0 12px 35px #0009}.photo:hover img{transform:none}@media(max-width:1000px){.gallery{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:700px){.gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}}@media(max-width:440px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(hover:none){.photo:hover{transform:none}}
