@font-face{font-family:CRUXRound;src:url('assets/huninn.ttf') format('truetype');font-display:swap;font-weight:400}
.hero{overflow:clip}.sun-beams{inset:0!important;pointer-events:none}
body,button,input,select,textarea,h1,h2,h3,summary,.footer-word,.footer-word span,.particle-word,.intro-mark,.join h2 span{font-family:CRUXRound,"Arial Rounded MT Bold",sans-serif}
h1,h2,h3{font-weight:900;letter-spacing:-.025em}h1,h2{-webkit-text-stroke:.65px currentColor}.eyebrow,.caption{font-weight:400}header nav{font-size:15px}.brand img{mix-blend-mode:multiply}
.theatre{position:fixed;inset:0;z-index:90;pointer-events:none;overflow:hidden;visibility:hidden;perspective:1200px}.intro-play .theatre{visibility:visible}.curtain{position:absolute;top:-2%;height:106%;width:51.5%;background:repeating-linear-gradient(90deg,#061b13 0%,#102c1f 3%,#345840 6%,#244831 8%,#0a2318 11%,#071c13 14%,#2c5038 18%,#10291d 22%);box-shadow:inset 0 0 90px #000a,15px 0 55px #000b;will-change:transform;transform-origin:top left}.curtain:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0009,transparent 23%,#0002 72%,#0008),repeating-linear-gradient(0deg,#fff02 0px,transparent 2px,transparent 4px);opacity:.7}.curtain:after{content:"";position:absolute;bottom:3%;left:0;right:0;height:9px;border-top:2px solid #c3a069;border-bottom:4px solid #a58149;box-shadow:0 2px 8px #000a}.curtain-left{left:0;border-radius:0 0 35% 0;transform:translateX(-110%) skewY(-8deg)}.curtain-right{right:0;border-radius:0 0 0 35%;transform-origin:top right;transform:translateX(110%) skewY(8deg);background-position:25% 0}.intro-play .curtain-left{animation:open-left 3.2s cubic-bezier(.65,0,.2,1) .65s both}.intro-play .curtain-right{animation:open-right 3.2s cubic-bezier(.65,0,.2,1) .65s both}.valance{position:absolute;top:-20px;height:100px;left:-5%;right:-5%;background:repeating-linear-gradient(100deg,#0b2419,#2c4e35 5%,#071b12 10%);border-radius:0 0 50% 50%;box-shadow:0 15px 25px #0006;border-bottom:4px solid #a98c50;transform:translateY(-160%)}.intro-play .valance{animation:valance-up 3s ease .7s both}.theatre-title{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:25px;color:#f5eedb;opacity:0}.theatre-title small{font-size:12px;letter-spacing:.35em}.theatre-title strong{font-size:clamp(30px,4.2vw,70px);font-weight:900}.theatre-title span{font-size:12px;letter-spacing:.5em;color:#d5bb7e}.intro-play .theatre-title{animation:curtain-title 1.5s ease both}#skip-intro{display:none;position:fixed;z-index:95;bottom:25px;right:30px;color:white;background:#ffffff15;border:1px solid #ffffff50;border-radius:30px;padding:12px 20px}.intro-play #skip-intro{display:block}#replay-intro{color:inherit;background:transparent;font-size:11px;letter-spacing:.1em}
@keyframes open-left{0%,10%{transform:translateX(0) skewY(0)}45%{transform:translateX(-34%) skewY(-7deg) scaleX(.93)}100%{transform:translateX(-110%) skewY(-12deg) scaleX(.7)}}@keyframes open-right{0%,10%{transform:translateX(0) skewY(0)}45%{transform:translateX(34%) skewY(7deg) scaleX(.93)}100%{transform:translateX(110%) skewY(12deg) scaleX(.7)}}@keyframes valance-up{0%,20%{transform:translateY(0)}100%{transform:translateY(-160%)}}@keyframes curtain-title{0%,45%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-18px);filter:blur(4px)}}
.hero-art{animation:none;transform:scale(1.12);transform-origin:62% 48%}.intro-play .hero-art{animation:academy-push 9s cubic-bezier(.16,.52,.31,1) both}.hero-shade{background:linear-gradient(90deg,#102218db,#10221855 52%,transparent 80%),linear-gradient(0deg,#10221899,transparent 40%)}.sun-beams{position:absolute;inset:-30%;background:conic-gradient(from 195deg at 77% 0%,transparent 0deg,#ffe5a718 10deg,transparent 18deg,#fff4cb18 23deg,transparent 35deg);pointer-events:none;mix-blend-mode:screen;animation:sunlight 12s ease-in-out infinite alternate}.intro-play .hero-copy>.eyebrow{animation:copy-reveal .8s ease 2.1s both}.intro-play .hero-copy h1{animation:copy-reveal 1s cubic-bezier(.2,.7,.2,1) 2.4s both}.intro-play .hero-desc{animation:copy-reveal 1s ease 2.8s both}.intro-play .hero .actions{animation:copy-reveal 1s ease 3.1s both}.hero h1{font-size:clamp(50px,6.2vw,100px)}@keyframes academy-push{0%{transform:scale(1)}100%{transform:scale(1.12)}}@keyframes copy-reveal{0%{opacity:0;transform:translateY(35px);filter:blur(8px)}100%{opacity:1;transform:none;filter:blur(0)}}@keyframes sunlight{to{transform:rotate(8deg);opacity:.45}}
.portal h2{font-size:clamp(66px,9vw,145px)}.portal-lines{animation:portal-turn 24s linear infinite;border-radius:37% 63% 68% 32%}.portal-lines:after{border-radius:60% 40%;transform:rotate(40deg)}@keyframes portal-turn{to{transform:rotate(335deg)}}
.program-card{padding:0;overflow:hidden;border-radius:18px;background:#e9e8df}.card-top{padding:22px 25px;align-items:center}.card-illustration{height:250px;padding:0;display:block;position:relative;overflow:hidden}.card-illustration img{border-radius:0;width:100%;height:100%;object-fit:cover;box-shadow:none;aspect-ratio:auto}.program-card:hover img{transform:scale(1.055)}.program-card:hover{transform:translateY(-8px);box-shadow:0 20px 50px #17241320}.program-card h3{margin:27px 25px 14px;font-size:29px}.program-card p{margin:0 25px 28px;min-height:58px;font-size:14px}.program-card .card-bottom{margin:0 25px;padding:22px 0}.service-caption{margin-top:20px;text-align:right}.program-card.green{background:#e1ecce}.program-card.dark .card-top{color:#c2e99f}
.particle-stage{min-height:500px;cursor:crosshair;outline-offset:8px;border-radius:50%;touch-action:pan-y}.tools{min-height:850px;grid-template-columns:40% 60%;overflow:hidden}.particle-word{font-size:clamp(68px,8vw,145px);transform:translate3d(var(--pointer-x,0px),var(--pointer-y,0px),0);transition:transform .15s ease-out;text-shadow:0 0 40px #baff3555;z-index:1}.particle-word span{font-family:CRUXRound,sans-serif;font-size:10px;letter-spacing:.45em}.orbit-label{z-index:2;pointer-events:none;backdrop-filter:blur(4px)}.interaction-hint{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:11px;color:#b1c19e;letter-spacing:.15em;pointer-events:none}.l1{top:5%;left:5%}.l2{bottom:10%}.l3{top:15%;right:0}
.shop{overflow:hidden}.merch-controls{display:flex;align-items:center;justify-content:space-between;margin:0 0 25px;gap:20px;font-size:11px;letter-spacing:.12em}.merch-controls>div{display:flex;gap:10px}.merch-controls button{background:transparent;border:1px solid #a6b199;border-radius:30px;padding:12px 17px;font-size:12px}.merch-controls button:hover{background:var(--lime)}.merch-rail{display:flex;overflow-x:auto;scrollbar-width:none;gap:0;margin:0 -8.2%;padding:15px 0 35px;mask-image:linear-gradient(90deg,transparent,black 5%,black 95%,transparent)}.merch-rail::-webkit-scrollbar{display:none}.merch-group{display:flex;gap:24px;padding-right:24px;flex-shrink:0}.product-card{width:360px;flex-shrink:0;background:#eeeadf;text-align:left;border-radius:12px;overflow:hidden;border:1px solid #ddd8ca;transition:transform .35s,box-shadow .35s}.product-card:hover{transform:translateY(-10px);box-shadow:0 20px 30px #25302420}.product-card img{width:100%;height:275px;object-fit:cover;transition:transform .6s}.product-card:hover img{transform:scale(1.035)}.product-info{padding:25px}.product-info small{font-size:10px;letter-spacing:.15em;color:#727960}.product-info h3{font-size:25px;margin:12px 0}.product-info p{font-size:12px;color:#717967;margin:0 0 20px}.product-bottom{border-top:1px solid #cbd0c0;padding-top:15px;display:flex;justify-content:space-between;font-size:12px}.product-bottom b{font-size:22px;font-weight:400}.product-modal-photo{width:100%;border-radius:8px;margin-bottom:25px}.product-status{display:inline-block;padding:8px 14px;background:#e3e9d7;border-radius:20px;font-size:12px}.tools-copy>.pill{color:var(--ink)}
@media(max-width:1050px){.program-card h3{font-size:25px;margin-left:20px;margin-right:20px}.program-card p{margin-left:20px;margin-right:20px;font-size:12px}.card-illustration{height:210px}.particle-stage{min-height:440px}}
@media(max-width:760px){.hero h1{font-size:46px}.hero-copy{bottom:105px}.hero-art{transform-origin:63% 50%}.theatre-title strong{font-size:28px}.theatre-title small{font-size:9px}.valance{height:75px}.card-illustration{position:relative;top:auto;right:auto;width:100%;height:220px;padding:0}.program-card{min-height:0;padding:0}.program-card h3{margin:25px 22px 14px;font-size:30px}.program-card p{max-width:none;margin:0 22px 25px;font-size:14px}.program-card .card-bottom{margin:0 22px}.card-top{padding:20px 22px}.tools{min-height:950px;padding-bottom:140px}.particle-stage{min-height:370px;height:370px;width:calc(100% + 30px);margin-left:-15px}.particle-word{font-size:85px}.orbit-label{font-size:8px;padding:7px 10px}.interaction-hint{font-size:10px}.product-card{width:285px}.product-card img{height:215px}.merch-controls{align-items:start;flex-direction:column;gap:18px}.merch-controls>div{align-self:flex-end}.merch-group{gap:16px;padding-right:16px}.product-info{padding:20px}.product-info h3{font-size:22px}.portal h2{font-size:60px}}
@media(prefers-reduced-motion:reduce){.theatre,#skip-intro,.intro-play #skip-intro{display:none}.intro-play .hero-copy>*{opacity:1;transform:none}.hero-art{transform:scale(1.05)}.particle-word{transform:none}.sun-beams{display:none}}
