:root{--ink:#35065d;--purple:#9b0fc3;--violet:#b965ef;--cream:#fffaf5;--mint:#72e6ca;--peach:#ffd3a0;--lav:#e8b9fa}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Trebuchet MS',Arial,sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}.site-shell{position:relative;min-height:100dvh;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 50% 30%,#fffdfb 0%,var(--cream) 85%)}.site-shell:before,.site-shell:after{content:"";position:absolute;z-index:-1;pointer-events:none;filter:blur(.2px)}.site-shell:before{width:190px;height:270px;background:linear-gradient(145deg,#e5b1fa,#c58ef7);border-radius:48% 52% 55% 45%;left:-125px;top:140px;transform:rotate(23deg)}.site-shell:after{width:190px;height:240px;background:linear-gradient(145deg,#ffe0b7,#ffd09b);border-radius:52% 48% 45% 55%;right:-145px;top:175px;transform:rotate(-22deg)}.header{height:98px;max-width:1160px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:18px clamp(24px,5vw,55px);position:relative;z-index:30}.logo{text-decoration:none;display:flex;align-items:baseline;font-family:'Trebuchet MS',Arial,sans-serif;font-weight:1000;font-size:clamp(42px,8vw,60px);font-style:italic;letter-spacing:-.13em;line-height:1;padding-right:.17em;transform:rotate(-3deg)}.logo span:nth-child(1){color:#8e52e8}.logo span:nth-child(2){color:#fb5963}.logo span:nth-child(3){color:#00cba9}.logo span:nth-child(4){color:#bd0abf}.logo span:nth-child(5){color:#ff9d14}.menu-toggle{width:52px;height:52px;display:flex;flex-direction:column;gap:6px;justify-content:center;align-items:center;border:0;background:transparent;cursor:pointer;padding:8px}.menu-toggle span{display:block;width:38px;height:5px;border-radius:9px;background:var(--ink);transition:transform .2s,opacity .2s}.menu-toggle.open span:first-child{transform:translateY(11px) rotate(45deg)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:last-child{transform:translateY(-11px) rotate(-45deg)}.mobile-menu{position:fixed;inset:0;z-index:20;background:radial-gradient(circle at 3% 25%,#e9c1fb 0 8%,transparent 8.1%),radial-gradient(circle at 105% 40%,#8cebd8 0 12%,transparent 12.1%),radial-gradient(circle at -5% 80%,#ffdda9 0 10%,transparent 10.1%),radial-gradient(circle at 110% 98%,#e9c1fb 0 13%,transparent 13.1%),var(--cream);visibility:hidden;opacity:0;transform:translateX(15px);transition:opacity .2s,transform .2s,visibility .2s;overflow:auto;padding:120px 22px 30px}.mobile-menu.open{visibility:visible;opacity:1;transform:translateX(0)}.menu-inner{max-width:580px;margin:auto;display:flex;flex-direction:column;align-items:stretch;gap:clamp(9px,2vh,24px);text-align:center}.menu-inner a{text-decoration:none;font-size:clamp(29px,6vw,48px);font-weight:1000;font-style:italic;letter-spacing:-.04em;padding:12px 20px;border-radius:80px}.menu-inner a.active{background:#f0d3fa}.heart-rule{text-align:center;font-size:66px;color:#a500b9;line-height:1;margin:12px auto}main{position:relative;z-index:1;max-width:1000px;margin:auto;padding:8px 24px 95px;text-align:center}main:before,main:after{content:"";position:absolute;z-index:-1;pointer-events:none;border-radius:50%}main:before{width:150px;height:250px;left:-135px;top:280px;background:#80e8d2}main:after{width:180px;height:200px;right:-145px;bottom:70px;background:#dfb1fa}h1,h2,h3,p{margin-top:0}h1,h2,h3,.emphasis,.cta,.benefit{font-weight:1000;font-style:italic;letter-spacing:-.045em}h1{font-size:clamp(48px,10vw,88px);line-height:1.04;margin-bottom:8px}h2{font-size:clamp(29px,6.4vw,44px);line-height:1.16;margin-bottom:20px}h3{font-size:clamp(24px,5.5vw,36px);margin-bottom:16px}p{font-size:clamp(17px,3.6vw,23px);line-height:1.5;margin-bottom:26px}.copy{max-width:780px;margin:0 auto}.copy p{margin-bottom:26px}.copy .emphasis{font-size:clamp(23px,5.3vw,37px);line-height:1.25;margin:30px auto}.section-title{margin-top:42px}.title-heart{color:#b30fc5;font-size:42px;line-height:1;margin-bottom:34px}.title-heart:before,.title-heart:after{content:"";display:inline-block;vertical-align:middle;width:clamp(40px,12vw,115px);height:3px;background:#c65dd9;border-radius:4px;margin:0 12px 10px}.page{padding-top:14px}.page .lead{font-size:clamp(24px,5.5vw,36px);font-style:italic;font-weight:1000;line-height:1.25;margin:20px 0 28px}.page .copy{padding-top:5px}.spacer{height:28px}.cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;color:#fff;background:linear-gradient(120deg,#b100c7,#8b04b9);box-shadow:0 5px 0 #4d146c;border:0;border-radius:999px;padding:17px 25px;font-size:clamp(19px,4.6vw,30px);line-height:1.18;max-width:100%;cursor:pointer}.cta:hover{filter:brightness(1.08)}.cta:focus-visible,.menu-toggle:focus-visible,.menu-inner a:focus-visible,.email:focus-visible{outline:3px solid #c85bdf;outline-offset:5px}.hero{padding-top:10px}.hero .eyebrow{font-size:clamp(18px,4.5vw,28px);font-weight:1000;font-style:italic;color:#b500b7;letter-spacing:.005em;margin:0 0 16px}.hero h1{font-size:clamp(55px,12vw,106px);max-width:750px;margin:0 auto 12px;line-height:.98}.mint-underline{height:7px;width:35%;max-width:280px;border-radius:50%;background:#0bd3b2;transform:rotate(-2deg);margin:16px auto 24px}.hero-sub{font-weight:900;font-style:italic;font-size:clamp(25px,5.8vw,42px);line-height:1.22;max-width:740px;margin:0 auto 30px}.hero-sub u{text-decoration-color:#d343c9;text-decoration-thickness:5px;text-underline-offset:4px}.benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:50px auto 30px;max-width:730px}.benefit{font-size:clamp(15px,3.5vw,24px);line-height:1.1;padding:5px}.benefit+.benefit{border-left:2px solid #b21dc6}.benefit .symbol{display:block;font-size:clamp(32px,8vw,58px);font-style:normal;color:#b400b9;margin-bottom:8px}.slogan{margin:30px auto 52px;font-size:clamp(31px,8vw,62px);line-height:1.2}.slogan span{display:table;margin:5px auto;padding:2px 14px;border-radius:50px;background:#f1d3fb}.slogan span+span{background:#ffbf64}.sponsor{max-width:810px;margin:0 auto;padding:20px 24px;background:#f3d8fb;border-radius:35px;display:grid;grid-template-columns:1fr 1.5fr auto;gap:15px;align-items:center;text-align:left}.sponsor strong{font-size:clamp(19px,4vw,29px);font-style:italic}.sponsor p{font-size:clamp(14px,2.5vw,18px);font-weight:700;font-style:italic;margin:0}.small-link{display:inline-block;white-space:nowrap;text-decoration:none;border:2px solid #ad09bd;border-radius:999px;padding:11px 17px;font-weight:900;font-style:italic}.event-list{display:grid;gap:26px;max-width:680px;margin:30px auto}.event-card{display:block;text-decoration:none;border-radius:36px;overflow:hidden;background:#e5c7f8;box-shadow:0 8px 18px #39085b12;transition:transform .2s}.event-card:hover{transform:translateY(-3px)}.event-card.peach{background:#ffdbbd}.event-art{height:220px;display:grid;place-items:center;background:radial-gradient(circle at 40% 45%,#c783e5,#8c2cc5);font-size:110px}.event-card.peach .event-art{background:radial-gradient(circle at 45% 50%,#ffe5b8,#f5a873)}.event-info{padding:18px 22px 24px}.event-info h2{margin:0 0 7px;font-size:clamp(25px,5vw,36px)}.event-info p{margin:0;font-size:20px}.note{font-size:18px;color:#5f4176;margin-top:28px}.email{display:inline-block;font-size:clamp(23px,5vw,38px);font-weight:1000;font-style:italic;text-decoration:none;background:#f1d2fa;border-radius:99px;padding:10px 20px;overflow-wrap:anywhere}.end-emphasis{font-size:clamp(30px,7vw,50px)!important;color:#8b08b6}.home-events{display:flex;justify-content:center;gap:15px;margin:34px auto 8px}.home-events a{width:42%;max-width:210px;height:180px;display:grid;place-items:center;border:10px solid white;border-bottom-width:25px;box-shadow:0 7px 18px #2d11472c;text-decoration:none;background:#e5adf4;transform:rotate(-7deg);font-size:88px}.home-events a+a{background:#ffd0a5;transform:rotate(7deg)}.home-events a:focus-visible{outline:3px solid var(--purple)}@media(min-width:720px){.page{padding-top:34px}.copy p{margin-bottom:30px}.header{height:116px}.event-art{height:280px}.hero{padding-top:24px}}@media(max-width:540px){.header{height:85px;padding:15px 23px}.logo{font-size:46px}main{padding:8px 22px 80px}.sponsor{grid-template-columns:1fr;gap:10px;text-align:center}.sponsor .small-link{justify-self:center}.hero{padding-top:15px}.hero .eyebrow{font-size:18px}.hero h1{font-size:clamp(55px,12.5vw,77px)}.home-events a{height:140px;font-size:68px}.menu-inner a{font-size:clamp(28px,8vw,43px)}.mobile-menu{padding-top:118px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
/* Mobile-first finishing touches */
body.menu-open{overflow:hidden}.event-pending{font-size:15px!important;margin-top:12px!important;opacity:.75}.event-card{cursor:default}.event-card .event-art{font-size:105px}.copy strong{font-weight:900}.page .copy{max-width:790px}.hero .sponsor{margin-top:34px}@media(max-width:400px){.menu-inner a{padding:9px 10px}.cta{font-size:17px;padding:16px 17px}.event-art{height:190px}.hero .eyebrow{font-size:16px}}@media(min-width:900px){.mobile-menu{padding-top:140px}.menu-inner{gap:12px}.menu-inner a{font-size:40px}}

/* Billetter v2: approved illustrated event artwork, mobile first. */
.event-list-images{max-width:680px;gap:22px;margin-top:26px}
.event-card-image{background:transparent;box-shadow:none;border-radius:30px;overflow:visible;position:relative}
.event-card-image img{display:block;width:100%;height:auto;border-radius:30px}
.event-card-image .ticket-status{display:block;font-size:13px;font-style:italic;color:#664376;margin:9px auto 0;text-align:center}
.note-dilla{font-weight:900;font-style:italic;font-size:clamp(19px,4vw,27px);color:#35065d;margin-top:28px}
.note-dilla span{display:block;font-size:42px;color:#b30fc5;line-height:1.2}
@media(max-width:540px){.event-list-images{gap:19px}.event-card-image img{border-radius:22px}}

/* Same approved logo across every route and the open mobile menu */
.logo{display:inline-flex;align-items:center;transform:none;padding-right:0;flex-shrink:0}.logo img{display:block;width:clamp(128px,21vw,176px);height:auto;object-fit:contain}.logo span{display:none}@media(max-width:540px){.logo img{width:148px}}

/* v5: final approved homepage without event polaroids. */
.hero .benefits{margin-top:58px}
@media(max-width:540px){.hero .benefits{margin-top:55px}}
