/* Modern Arts Integration Academy layer */
:root{--art-coral:#f06b59;--art-blue:#4f7cff;--art-aqua:#46c7b7;--art-lilac:#9a73e8;--art-yellow:#f2c94c;--art-pink:#ef7ea8;--art-green:#77bd73;--art-orange:#f39a3c;--art-cream:#fffaf0;--art-ink:#24211f}

/* expressive system */
body{background-image:radial-gradient(circle at 15% 10%,color-mix(in srgb,var(--gold) 4%,transparent) 0 2px,transparent 2px),radial-gradient(circle at 80% 30%,color-mix(in srgb,var(--wine) 3%,transparent) 0 2px,transparent 2px);background-size:30px 30px,42px 42px}
.section,.page-hero,.festival-hero,.premium-hero{position:relative;isolation:isolate}
.section:before{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(115deg,transparent 0 47%,color-mix(in srgb,var(--gold) 3%,transparent) 48% 50%,transparent 51%)}

/* arts-academy heading treatment */
.section-head .eyebrow,.page-hero .eyebrow,.festival-hero .eyebrow{display:inline-flex;align-items:center;gap:8px;background:color-mix(in srgb,var(--paper) 82%,var(--gold) 18%);border:1px solid color-mix(in srgb,var(--gold) 28%,var(--line));padding:7px 12px;border-radius:999px;box-shadow:0 4px 0 color-mix(in srgb,var(--gold) 22%,transparent)}
.section-head h2,.page-hero h1,.festival-hero h1{letter-spacing:-.04em}

/* make cards feel like a living arts studio, not admin boxes */
.card,.bento-card,.resource-card,.portal-card{position:relative;overflow:hidden;border-radius:26px;border:1px solid color-mix(in srgb,var(--line) 70%,var(--gold) 30%)}
.card:before,.bento-card:before,.resource-card:before,.portal-card:before{content:'';position:absolute;width:90px;height:90px;border-radius:34% 66% 70% 30%/55% 38% 62% 45%;right:-28px;top:-30px;background:color-mix(in srgb,var(--gold) 12%,transparent);transform:rotate(16deg);pointer-events:none}
.card:nth-child(4n+1):before{background:color-mix(in srgb,var(--art-coral) 15%,transparent)}
.card:nth-child(4n+2):before{background:color-mix(in srgb,var(--art-blue) 14%,transparent)}
.card:nth-child(4n+3):before{background:color-mix(in srgb,var(--art-aqua) 15%,transparent)}
.card:nth-child(4n+4):before{background:color-mix(in srgb,var(--art-lilac) 14%,transparent)}

/* Viking Quest: immersive arts festival */
.festival-hero{overflow:hidden;background:linear-gradient(145deg,#7f1f25 0%,#a72b33 42%,#7f1f25 100%)}
.festival-hero:before,.festival-hero:after{content:'';position:absolute;pointer-events:none;border-radius:999px;filter:blur(1px);opacity:.55;z-index:-1}
.festival-hero:before{width:420px;height:120px;background:var(--art-yellow);right:-120px;top:36px;transform:rotate(-13deg)}
.festival-hero:after{width:380px;height:110px;background:var(--art-blue);left:-145px;bottom:40px;transform:rotate(14deg)}
.festival-hero .sparkles{font-size:24px;letter-spacing:.34em}

.viking-experience-section{background:linear-gradient(180deg,var(--ivory),color-mix(in srgb,var(--paper2) 82%,var(--art-cream) 18%));overflow:hidden}
.viking-experience-section .section-head{margin-bottom:28px}
.viking-intro{max-width:820px;margin:0 auto 34px;text-align:center;color:var(--muted);font-size:17px}
.zone-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}
.zone-art-card{position:relative;min-height:270px;padding:26px;border-radius:30px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid rgba(0,0,0,.08);box-shadow:0 14px 40px rgba(40,31,24,.10);transition:transform .25s ease,box-shadow .25s ease}
.zone-art-card:hover{transform:translateY(-5px) rotate(-.35deg);box-shadow:0 22px 52px rgba(40,31,24,.16)}
.zone-art-card h3{font:700 clamp(24px,3vw,35px)/1.02 'Source Serif 4',Georgia,serif;margin:0 0 9px;max-width:88%;letter-spacing:-.025em}
.zone-art-card p{margin:0;color:inherit;opacity:.82;max-width:82%;font-weight:600}
.zone-art-card .zone-chip{position:absolute;left:20px;top:18px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:900;background:rgba(255,255,255,.7);color:#27231e;padding:7px 10px;border-radius:999px;backdrop-filter:blur(8px)}
.zone-art-card .zone-symbol{position:absolute;right:20px;top:18px;font-size:34px;filter:drop-shadow(0 3px 0 rgba(255,255,255,.35))}
.zone-art-card .zone-number{position:absolute;right:-2px;bottom:-28px;font:900 116px/.8 'Source Serif 4',Georgia,serif;opacity:.12;color:currentColor}
.zone-art-card:before,.zone-art-card:after{content:'';position:absolute;pointer-events:none;z-index:-1}
.zone-art-card:before{width:160px;height:160px;border-radius:44% 56% 61% 39%/35% 42% 58% 65%;right:-35px;top:-30px;background:rgba(255,255,255,.26);transform:rotate(18deg)}
.zone-art-card:after{left:-35px;bottom:-42px;width:145px;height:90px;border-radius:50%;border:16px solid rgba(255,255,255,.24);transform:rotate(-12deg)}
.zone-art-card:nth-child(1){grid-column:span 7;background:linear-gradient(135deg,#ffd25a,#f59e42);color:#2a2117}
.zone-art-card:nth-child(2){grid-column:span 5;background:linear-gradient(135deg,#7e63dd,#9b7bef);color:#fff}
.zone-art-card:nth-child(3){grid-column:span 5;background:linear-gradient(135deg,#54b7ef,#4d7cff);color:#fff}
.zone-art-card:nth-child(4){grid-column:span 7;background:linear-gradient(135deg,#ef7faa,#f27c68);color:#2b2023}
.zone-art-card:nth-child(5){grid-column:span 6;background:linear-gradient(135deg,#66c9b4,#8bd17e);color:#18332d}
.zone-art-card:nth-child(6){grid-column:span 6;background:linear-gradient(135deg,#f47c68,#bd3047);color:#fff}
.zone-art-card:nth-child(7){grid-column:span 4;background:linear-gradient(135deg,#f4c95d,#ffe39b);color:#2a2117}
.zone-art-card:nth-child(8){grid-column:span 4;background:linear-gradient(135deg,#6f8cff,#5268d9);color:#fff}
.zone-art-card:nth-child(9){grid-column:span 4;background:linear-gradient(135deg,#8ed7ce,#d4f1eb);color:#193a35}
.zone-art-card:nth-child(10){grid-column:span 4;background:linear-gradient(135deg,#ffcf6a,#f0a449);color:#302318}
.zone-art-card:nth-child(11){grid-column:span 4;background:linear-gradient(135deg,#f397b6,#e85e8e);color:#40202b}
.zone-art-card:nth-child(12){grid-column:span 4;background:linear-gradient(135deg,#7f6ddf,#bf92ec);color:#fff}

.art-ribbon{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:18px auto 0;max-width:800px}
.art-ribbon span{padding:8px 12px;border:1px dashed color-mix(in srgb,var(--gold) 56%,var(--line));border-radius:999px;background:var(--paper);font-size:12px;font-weight:850;transform:rotate(var(--tilt,0deg))}
.art-ribbon span:nth-child(2n){--tilt:1.5deg}.art-ribbon span:nth-child(3n){--tilt:-1.5deg}

/* make the homepage feel like an arts academy */
.hype-hero{background:linear-gradient(145deg,color-mix(in srgb,var(--paper) 88%,var(--art-yellow) 12%),color-mix(in srgb,var(--ivory) 92%,var(--art-pink) 8%))!important}
.hype-hero:after{content:'';position:absolute;inset:auto -12% -120px 35%;height:240px;background:linear-gradient(90deg,var(--art-blue),var(--art-aqua),var(--art-yellow),var(--art-coral));opacity:.13;transform:rotate(-8deg);border-radius:50%;filter:blur(2px);pointer-events:none}
.stage-main{border:2px solid rgba(255,255,255,.5)!important}
.join-now-band{background:linear-gradient(90deg,#f4c95d 0 25%,#ef7ea8 25% 50%,#4f7cff 50% 75%,#46c7b7 75%)!important;color:#181512!important}
.join-now-band .mini-label,.join-now-band p{color:#181512!important}
.join-now-band .join-now-arrow{background:#fff!important;color:#181512!important}

@media(max-width:800px){.zone-art-card:nth-child(n){grid-column:span 12;min-height:230px}.zone-art-card h3{font-size:30px;max-width:84%}.viking-intro{font-size:15px;padding:0 6px}}
@media(max-width:520px){.zone-gallery{gap:14px}.zone-art-card{min-height:215px;border-radius:24px;padding:22px}.zone-art-card .zone-number{font-size:92px}.zone-art-card .zone-symbol{font-size:30px}.zone-art-card p{max-width:88%;font-size:14px}.art-ribbon{gap:7px}.art-ribbon span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.zone-art-card:hover{transform:none}}
