@charset "UTF-8";
:root{color-scheme:dark;--ink:#080b18;--ink-2:#0e1426;--panel:#151d34;--text:#f0f2fa;--muted:#aab3ce;--gold:#e8ca8c;--line:rgba(192,207,255,.16);--rainbow:linear-gradient(100deg,#ff7f82 0%,#ffb86b 17%,#f3df9c 32%,#88e6cc 49%,#71cfff 66%,#a69aff 83%,#edb0ff 100%);--serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--ease:cubic-bezier(.2,.7,.1,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--ink);color:var(--text);font-family:var(--sans);line-height:1.65;overflow-x:hidden}a{color:inherit}button{font:inherit}.noise{position:fixed;inset:0;z-index:30;pointer-events:none;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E")}.stars{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0}.starfield-canvas{display:block;width:100%;height:100%}.star-dot{position:absolute;width:2px;height:2px;border-radius:50%;background:#e8edff;box-shadow:0 0 8px #b2c8ff;animation:twinkle var(--dur,4s) ease-in-out var(--delay,0s) infinite alternate}.sky-glow{position:absolute;width:50vw;height:50vw;border-radius:50%;filter:blur(100px);opacity:.14;pointer-events:none}.sky-glow--one{background:#6d4ce4;top:12%;left:-22%}.sky-glow--two{background:#258bc8;top:35%;right:-25%}.topbar{position:absolute;top:0;left:0;right:0;z-index:10;height:94px;padding:0 clamp(22px,5vw,78px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(205,215,255,.1);background:linear-gradient(180deg,rgba(6,9,21,.76),rgba(6,9,21,.07));backdrop-filter:blur(12px)}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border:1px solid rgba(227,207,154,.4);border-radius:50%;background:rgba(11,15,30,.62);box-shadow:0 0 24px rgba(163,139,255,.1)}.brand-mark svg{width:31px;height:31px;fill:none;stroke:#d7c18f;stroke-width:1.2;stroke-linecap:round}.brand-copy{display:flex;flex-direction:column;line-height:1.15}.brand-copy strong{font-family:var(--serif);font-size:1.12rem;letter-spacing:.2em;font-weight:500}.brand-copy small{margin-top:6px;font-size:.54rem;letter-spacing:.18em;color:#a8b2cc}.topbar-note{display:flex;align-items:center;gap:10px;font-size:.63rem;letter-spacing:.17em;color:#c2cce1}.status-dot{width:6px;height:6px;border-radius:50%;background:#9ae6cb;box-shadow:0 0 12px #8ee5d0;animation:pulse 2.6s infinite}
.gate-page{height:100vh;max-height:100vh;overflow:hidden;background:radial-gradient(ellipse at 68% 48%,#1a2040 0%,#0b1021 46%,#070a15 100%)}.gate-hero{position:relative;isolation:isolate;height:100vh;max-height:100vh;display:flex;align-items:center;padding:110px clamp(24px, 8vw, 130px) 60px;overflow:hidden;}.gate-hero:before{content:"";position:absolute;z-index:-1;left:0;right:0;bottom:-1px;height:26%;background:linear-gradient(0deg,#080b18 2%,transparent 100%);pointer-events:none}.hero-copy{position:relative;z-index:5;max-width:600px;width:48%;padding-top:12px;animation:fadeUp 1s var(--ease) both}.eyebrow{display:flex;align-items:center;gap:12px;font-size:.62rem;letter-spacing:.24em;color:#b9c2d9;margin:0 0 26px}.eyebrow>span{display:block;width:24px;height:1px;background:linear-gradient(90deg,#e8ca8c,transparent)}h1,h2,h3,p{margin-top:0}.hero-copy h1{font-family:var(--serif);font-weight:400;font-size:clamp(3.25rem,6.7vw,6.6rem);line-height:.99;letter-spacing:-.045em;margin:0 0 27px;text-wrap:balance}.hero-copy h1 em,.realm-hero h1 em,h2 em{font-style:normal;background:var(--rainbow);background-size:180% 100%;color:transparent;background-clip:text;-webkit-background-clip:text;animation:spectrum 13s ease-in-out infinite alternate}.lead{font-family:var(--serif);font-size:clamp(1.1rem,1.65vw,1.48rem);line-height:1.45;color:#e0e6f8;max-width:490px;margin-bottom:13px}.gate-desc{font-size:.91rem;color:#a7b2ce;line-height:1.85;max-width:450px;margin-bottom:30px}.gate-actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.btn{position:relative;display:flex;align-items:center;gap:14px;text-decoration:none;border:1px solid rgba(232,202,140,.42);border-radius:7px;background:linear-gradient(112deg,rgba(232,202,140,.12),rgba(124,126,226,.12));padding:14px 16px;min-width:min(100%,355px);box-shadow:0 16px 45px rgba(0,0,0,.22);transition:transform .35s var(--ease),border-color .35s,background .35s,box-shadow .35s}.btn:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(100deg,rgba(255,255,255,.07),transparent 44%);pointer-events:none}.btn:hover{transform:translateY(-3px);border-color:rgba(232,202,140,.8);background:linear-gradient(112deg,rgba(232,202,140,.2),rgba(124,126,226,.19));box-shadow:0 21px 55px rgba(0,0,0,.34),0 0 36px rgba(148,126,255,.1)}.btn>svg{width:24px;height:24px;fill:#d4e3ff;flex-shrink:0}.btn>span:nth-child(2){display:flex;flex-direction:column;line-height:1.25;flex:1}.btn strong{font-weight:600;font-size:.86rem;letter-spacing:.015em}.btn small{font-size:.68rem;color:#aab7d2;margin-top:4px}.btn-arrow{font-size:1.25rem;color:#e8ca8c}.secure-note{display:flex;align-items:center;gap:8px;color:#8995b2;font-size:.69rem}.secure-note svg{width:15px;height:15px;fill:none;stroke:#a8ddca;stroke-width:1.15}.gate-alert{margin:20px 0 0;max-width:390px;padding:12px 14px;border:1px solid rgba(255,143,143,.35);border-radius:6px;background:rgba(120,30,45,.18);color:#ffd4d9;font-size:.84rem}.gate-alert[hidden]{display:none}.bridge-scene{position:absolute;z-index:1;top:0;bottom:0;right:-4%;width:70%;overflow:hidden;pointer-events:none;mask-image:linear-gradient(90deg,transparent 0%,#000 15%,#000 90%,transparent 100%);}.bridge-art{position:absolute;bottom:10%;right:0;width:100%;height:100%;overflow:visible;animation:sceneFloat 9s ease-in-out infinite alternate;}.moon{position:absolute;top:12%;right:23%;width:clamp(110px,15vw,220px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 38% 35%,rgba(248,236,210,.9),rgba(180,195,255,.38) 37%,rgba(118,135,218,.09) 68%,transparent 70%);filter:drop-shadow(0 0 42px rgba(177,184,255,.28));opacity:.7}.halo{position:absolute;top:13%;right:23%;width:clamp(115px,15.5vw,230px);aspect-ratio:1;border:1px solid rgba(201,204,255,.1);border-radius:50%;transform:scale(1.25)}.halo--inner{transform:scale(1.05);border-color:rgba(231,206,151,.11)}.scene-caption{position:absolute;left:19%;right:17%;bottom:16%;display:flex;align-items:center;justify-content:space-between;gap:17px;color:#9faac9;font-size:.57rem;letter-spacing:.28em}.caption-line{height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(206,198,255,.46),transparent)}.gate-bottom{position:absolute;bottom:0;left:clamp(24px,5vw,78px);right:clamp(24px,5vw,78px);z-index:5;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:19px 0;color:#616d8b;font-size:.54rem;letter-spacing:.19em;border-top:1px solid rgba(184,201,242,.12)}
/* Protected myth site */
.realm-page{background:radial-gradient(ellipse at 50% 0%,#161d38 0%,#090d1c 40%,#070a14 100%)}.topbar--realm{position:fixed;height:82px;padding:0 clamp(20px,4vw,65px);background:rgba(7,10,22,.78);border-color:rgba(205,215,255,.1)}.main-nav{display:flex;align-items:center;gap:clamp(14px,2.2vw,34px)}.main-nav a{font-size:.75rem;color:#aeb8d1;text-decoration:none;transition:color .25s}.main-nav a:hover{color:var(--gold)}.user-area{display:flex;align-items:center;gap:9px;font-size:.7rem;color:#c7cfe2}.user-mark{display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(232,202,140,.45);border-radius:50%;font-family:var(--serif);color:var(--gold)}.logout-button{margin-left:5px;background:transparent;border:0;color:#8390ad;cursor:pointer;font-size:.68rem;padding:7px 0 7px 9px;transition:color .2s}.logout-button:hover{color:#ffb9c0}.realm-hero{position:relative;isolation:isolate;min-height:800px;height:min(100svh,1050px);display:flex;align-items:center;padding:120px clamp(22px,8.2vw,130px) 90px;overflow:hidden}.realm-hero:after{content:"";position:absolute;z-index:-1;inset:65% 0 0;background:linear-gradient(0deg,#090d1a,transparent);pointer-events:none}.realm-hero__copy{position:relative;z-index:3;width:46%;max-width:630px;animation:fadeUp .9s var(--ease) both}.realm-hero h1{font-family:var(--serif);font-size:clamp(3.1rem,6.5vw,6.7rem);line-height:.99;letter-spacing:-.04em;font-weight:400;margin:0 0 27px}.realm-lead{max-width:480px;color:#b9c4dc;font-family:var(--serif);font-size:clamp(1.05rem,1.5vw,1.36rem);line-height:1.6}.realm-meta{display:flex;align-items:center;gap:13px;margin-top:36px}.rune-seal{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid rgba(232,202,140,.55);font-size:1.25rem;color:var(--gold)}.realm-meta>span:last-child{display:flex;flex-direction:column}.realm-meta b{font-weight:500;font-size:.78rem}.realm-meta small{font-size:.67rem;color:#8795b4;margin-top:3px}.realm-art{position:absolute;z-index:1;right:-2%;top:6%;width:72%;height:94%;mask-image:linear-gradient(90deg,transparent,#000 17%,#000 94%,transparent);overflow:hidden}.realm-bridge-svg{position:absolute;inset:0;width:100%;height:100%;animation:sceneFloat 11s ease-in-out infinite alternate}.realm-moon{position:absolute;right:24%;top:8%;width:clamp(120px,15vw,230px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 39% 36%,rgba(248,236,212,.8),rgba(180,195,255,.28) 38%,rgba(118,135,218,.04) 69%,transparent 71%);filter:drop-shadow(0 0 45px rgba(177,184,255,.2))}.realm-aurora{position:absolute;top:3%;width:80%;height:55%;border-radius:50%;filter:blur(54px);opacity:.13;mix-blend-mode:screen;transform:rotate(-18deg)}.realm-aurora--a{right:-5%;background:linear-gradient(120deg,#6fd5d0,#8a78ef,transparent 80%);animation:aurora 18s ease-in-out infinite alternate}.realm-aurora--b{left:6%;background:linear-gradient(120deg,#7e8df2,#e9b6da,transparent 75%);animation:aurora 23s ease-in-out infinite alternate-reverse}.realm-art-tag{position:absolute;right:18%;top:45%;display:flex;align-items:center;gap:10px;padding:10px 15px;border:1px solid rgba(232,202,140,.32);background:rgba(9,13,29,.6);backdrop-filter:blur(12px);font-family:var(--serif);letter-spacing:.16em;font-size:.74rem;color:#e4d0a0;transform:translateY(30px);animation:fadeUp 1s .3s var(--ease) both}.tag-rune{display:grid;place-items:center;width:29px;height:29px;border:1px solid rgba(232,202,140,.42);border-radius:50%;font-size:1rem}.realm-art-tag span:last-child{display:flex;flex-direction:column}.realm-art-tag small{font-family:var(--sans);font-size:.52rem;letter-spacing:.2em;color:#8d9abb}.scroll-cue{position:absolute;bottom:33px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;color:#7784a4;font-size:.55rem;letter-spacing:.22em}.scroll-cue span{position:relative;width:36px;height:1px;background:rgba(232,202,140,.52)}.scroll-cue span:after{content:"";position:absolute;left:0;top:-2px;width:5px;height:5px;border-radius:50%;background:var(--gold);animation:travel 2.2s ease-in-out infinite}
.intro-band{position:relative;padding:125px clamp(22px,10vw,155px) 135px;border-top:1px solid var(--line);background:linear-gradient(180deg,#0a0e1d,#0e1426 100%)}.section-kicker{font-size:.58rem;letter-spacing:.25em;color:#9da9c7;margin-bottom:28px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}.intro-grid h2,.guardian-copy h2,.section-heading h2,.ragnarok-content h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.6rem,4.8vw,4.8rem);line-height:1.1;letter-spacing:-.035em;margin:0}.intro-grid h2 em,.guardian-copy h2 em,.section-heading h2 em,.ragnarok-content h2 em{font-size:.94em}.intro-text{max-width:600px;color:#abb6d0;font-size:.91rem;line-height:1.95}.intro-text p+p{margin-top:17px}.quote-line{position:relative;margin:92px auto 0;max-width:900px;border-top:1px solid rgba(232,202,140,.22);border-bottom:1px solid rgba(232,202,140,.22);padding:42px 8%;display:flex;align-items:center;gap:25px}.quote-mark{font-family:var(--serif);font-size:5rem;color:rgba(232,202,140,.45);line-height:.5}.quote-line p{font-family:var(--serif);font-size:clamp(1.1rem,2.1vw,1.9rem);line-height:1.5;margin:0;flex:1}.quote-line em{color:#aebbe0;font-style:normal}.quote-credit{align-self:flex-end;white-space:nowrap;font-size:.52rem;letter-spacing:.14em;color:#7e8ba9}
.guardian-section{display:grid;grid-template-columns:1fr 1fr;min-height:680px;background:radial-gradient(ellipse at 23% 50%,rgba(89,77,158,.18),transparent 56%),#0a0e1d;border-top:1px solid rgba(193,205,245,.08);border-bottom:1px solid rgba(193,205,245,.08)}.guardian-visual{min-height:550px;position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at center,rgba(99,123,202,.12),transparent 58%)}.guardian-ring{width:min(38vw,440px);aspect-ratio:1;border:1px solid rgba(232,202,140,.32);border-radius:50%;position:absolute;box-shadow:0 0 0 18px rgba(171,180,255,.02),0 0 0 50px rgba(171,180,255,.016),inset 0 0 60px rgba(121,145,244,.05);animation:ringPulse 7s ease-in-out infinite}.guardian-ring:before,.guardian-ring:after{content:"";position:absolute;inset:9%;border:1px solid rgba(177,190,246,.17);border-radius:50%;transform:rotateX(64deg) rotate(-26deg)}.guardian-ring:after{transform:rotateX(64deg) rotate(38deg);inset:17%}.guardian-rune{position:relative;z-index:2;font-family:var(--serif);font-size:clamp(8rem,20vw,17rem);line-height:1;color:rgba(228,205,150,.88);text-shadow:0 0 25px rgba(232,202,140,.15),0 0 90px rgba(123,145,241,.3);animation:runeGlow 5s ease-in-out infinite alternate}.guardian-spear{position:absolute;width:1px;height:70%;background:linear-gradient(transparent,rgba(224,214,180,.52),transparent);transform:rotate(32deg);left:48%;top:15%;opacity:.6}.guardian-caption{position:absolute;bottom:45px;font-size:.53rem;letter-spacing:.28em;color:#6d7b9e}.guardian-copy{align-self:center;padding:100px clamp(30px,7vw,110px) 100px clamp(22px,4vw,60px);max-width:750px}.guardian-copy h2{font-size:clamp(2.6rem,4.1vw,4.3rem);margin-bottom:30px}.guardian-copy>p{font-size:.9rem;color:#aab6d0;line-height:1.92;max-width:570px}.fact-row{display:flex;gap:clamp(20px,4vw,52px);margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}.fact-row>div{display:flex;flex-direction:column;gap:7px}.fact-row b{font-family:var(--serif);font-size:1.9rem;font-weight:400;color:var(--gold)}.fact-row span{font-size:.63rem;color:#8794b1}
.worlds-section{padding:130px clamp(22px,9vw,140px) 145px;background:radial-gradient(ellipse at 50% 0%,rgba(69,88,158,.14),transparent 50%),#0c1121}.section-heading{text-align:center;max-width:700px;margin:0 auto 65px}.section-heading .section-kicker{margin-bottom:20px}.section-heading h2{font-size:clamp(2.7rem,4.7vw,4.8rem)}.section-heading>p{color:#9ca9c6;font-size:.84rem;margin:19px 0 0}.worlds-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1250px;margin:0 auto}.world-card{position:relative;min-height:360px;padding:32px 30px;overflow:hidden;border:1px solid rgba(191,204,246,.14);background:linear-gradient(155deg,rgba(30,42,73,.7),rgba(13,18,35,.85));transition:transform .35s var(--ease),border-color .35s,background .35s}.world-card:before{content:"";position:absolute;right:-70px;top:-90px;width:210px;height:210px;border-radius:50%;background:var(--card-glow,rgba(123,136,255,.16));filter:blur(25px);opacity:.65;transition:opacity .3s}.world-card:hover{transform:translateY(-7px);border-color:rgba(232,202,140,.4);background:linear-gradient(155deg,rgba(39,50,85,.8),rgba(13,18,35,.9))}.world-card:hover:before{opacity:1}.world-card--asgard{--card-glow:rgba(255,197,126,.2)}.world-card--midgard{--card-glow:rgba(102,191,224,.18)}.world-card--yggdrasil{--card-glow:rgba(151,127,255,.2)}.world-index{font-size:.53rem;letter-spacing:.17em;color:#8794b2}.world-symbol{font-family:var(--serif);font-size:3.6rem;color:var(--gold);opacity:.9;margin:32px 0 21px;line-height:1;text-shadow:0 0 30px rgba(232,202,140,.13)}.world-card h3{font-family:var(--serif);font-size:1.85rem;font-weight:400;margin-bottom:12px}.world-card p{font-size:.8rem;line-height:1.8;color:#9ca9c6;max-width:290px;margin-bottom:27px}.world-line{position:absolute;bottom:0;left:0;width:38%;height:2px;background:var(--rainbow);opacity:.7;transition:width .35s}.world-card:hover .world-line{width:100%}
.ragnarok-section{min-height:620px;position:relative;display:flex;align-items:center;padding:100px clamp(22px,10vw,155px);overflow:hidden;background:#11162a}.ragnarok-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 70% 50%,rgba(146,81,105,.22),transparent 50%),linear-gradient(110deg,rgba(7,10,19,.96),rgba(11,15,30,.55)),repeating-linear-gradient(160deg,transparent 0 70px,rgba(198,166,164,.025) 71px 72px);pointer-events:none}.ragnarok-bg:after{content:"";position:absolute;right:-9%;top:-30%;width:70%;height:160%;border:1px solid rgba(226,181,161,.12);border-radius:50%;transform:rotate(-22deg);box-shadow:0 0 0 34px rgba(226,181,161,.018),0 0 0 90px rgba(226,181,161,.015)}.ragnarok-content{position:relative;z-index:1;max-width:650px}.ragnarok-content h2{font-size:clamp(3rem,5vw,5.5rem);margin-bottom:28px}.ragnarok-content>p{max-width:570px;font-size:.9rem;color:#b0b9cc;line-height:1.9}.text-link{display:inline-flex;align-items:center;gap:23px;text-decoration:none;color:#e8d4a7;font-size:.75rem;letter-spacing:.04em;padding:13px 0;border-bottom:1px solid rgba(232,202,140,.38);margin-top:19px;transition:gap .3s}.text-link:hover{gap:32px}.text-link span{font-size:1.25rem}.site-footer{padding:48px clamp(22px,5vw,78px) 22px;background:#070a14;border-top:1px solid rgba(202,212,245,.12)}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:35px}.footer-top>p{font-family:var(--serif);font-size:1.18rem;color:#a4b0cb;line-height:1.5;margin:0}.footer-top>p em{font-style:normal;color:#e0c993}.footer-runes{font-family:var(--serif);font-size:1.3rem;letter-spacing:.5em;color:#536281}.footer-bottom{padding-top:18px;border-top:1px solid rgba(202,212,245,.1);display:flex;justify-content:space-between;gap:15px;font-size:.52rem;letter-spacing:.18em;color:#606d8a}
[data-reveal].will-reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}
@keyframes twinkle{from{opacity:.12;transform:scale(.65)}to{opacity:.95;transform:scale(1.35)}}@keyframes pulse{0%,100%{opacity:.7;box-shadow:0 0 8px #8ee5d0}50%{opacity:1;box-shadow:0 0 17px #8ee5d0}}@keyframes spectrum{0%{background-position:0% 50%}100%{background-position:100% 50%}}@keyframes fadeUp{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes sceneFloat{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(0,-9px,0) scale(1.012)}}@keyframes aurora{from{transform:translateX(-3%) rotate(-18deg) scale(1)}to{transform:translateX(10%) rotate(-9deg) scale(1.12)}}@keyframes ringPulse{0%,100%{box-shadow:0 0 0 18px rgba(171,180,255,.02),0 0 0 50px rgba(171,180,255,.016),inset 0 0 60px rgba(121,145,244,.05)}50%{box-shadow:0 0 0 24px rgba(171,180,255,.03),0 0 0 64px rgba(171,180,255,.022),inset 0 0 90px rgba(121,145,244,.1)}}@keyframes runeGlow{from{text-shadow:0 0 20px rgba(232,202,140,.12),0 0 70px rgba(123,145,241,.18)}to{text-shadow:0 0 35px rgba(232,202,140,.26),0 0 110px rgba(123,145,241,.45)}}@keyframes travel{0%{transform:translateX(0);opacity:0}25%{opacity:1}100%{transform:translateX(31px);opacity:0}}
@media(max-width:1100px){.main-nav{gap:13px}.main-nav a{font-size:.68rem}.user-area{font-size:.64rem}.realm-art{right:-14%;width:78%}.realm-hero__copy{width:51%}.bridge-scene{position:absolute;z-index:1;top:0;bottom:0;right:-4%;width:70%;overflow:hidden;pointer-events:none;mask-image:linear-gradient(90deg,transparent 0%,#000 15%,#000 90%,transparent 100%);}.quote-line{flex-wrap:wrap}.quote-credit{margin-left:auto}.guardian-copy{padding-left:35px;padding-right:35px}}
@media(max-width:800px){.topbar{height:76px}.topbar-note{font-size:.53rem}.gate-hero{position:relative;isolation:isolate;height:100vh;max-height:100vh;display:flex;align-items:center;padding:110px clamp(24px, 8vw, 130px) 60px;overflow:hidden;}.hero-copy{width:100%;max-width:560px}.hero-copy h1{font-size:clamp(3.5rem,12vw,5.3rem)}.bridge-scene{position:absolute;z-index:1;top:0;bottom:0;right:-4%;width:70%;overflow:hidden;pointer-events:none;mask-image:linear-gradient(90deg,transparent 0%,#000 15%,#000 90%,transparent 100%);}.hero-copy{z-index:4}.gate-desc{max-width:390px}.gate-bottom{font-size:.46rem;letter-spacing:.1em}.gate-bottom span:nth-child(2){display:none}.main-nav{display:none}.topbar--realm{height:72px}.user-area{gap:6px}.user-area #user-label{max-width:105px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.realm-hero{min-height:830px;height:auto;align-items:flex-start;padding-top:145px;padding-bottom:110px}.realm-hero__copy{width:100%;max-width:560px}.realm-hero h1{font-size:clamp(3.3rem,11vw,5.4rem)}.realm-art{top:37%;right:-23%;height:64%;width:135%;opacity:.65;mask-image:linear-gradient(180deg,transparent,#000 11%,#000 85%,transparent)}.realm-art-tag{right:23%;top:50%}.scroll-cue{bottom:30px;font-size:.49rem}.intro-band{padding-top:88px;padding-bottom:95px}.intro-grid{grid-template-columns:1fr;gap:26px}.intro-grid h2{font-size:3rem}.intro-text{max-width:100%}.quote-line{margin-top:55px;padding:32px 4%;gap:15px}.quote-credit{width:100%;margin-left:58px}.guardian-section{grid-template-columns:1fr}.guardian-visual{min-height:390px}.guardian-ring{width:min(60vw,330px)}.guardian-rune{font-size:10rem}.guardian-copy{padding:60px 25px 75px}.guardian-copy h2{font-size:3rem}.worlds-section{padding-top:90px;padding-bottom:95px}.worlds-grid{grid-template-columns:1fr;max-width:520px}.world-card{min-height:300px}.world-symbol{margin:25px 0 15px}.section-heading{margin-bottom:45px}.ragnarok-section{padding-top:90px;padding-bottom:90px;min-height:570px}.ragnarok-content h2{font-size:3.25rem}.footer-top{flex-wrap:wrap}.footer-top>p{font-size:1rem}.footer-runes{width:100%;text-align:right}.footer-bottom{flex-wrap:wrap;justify-content:center;text-align:center;font-size:.46rem}.footer-bottom span{flex:1 1 27%}}
@media(max-width:440px){.topbar{padding-inline:18px}.brand-mark{width:37px;height:37px}.brand-copy strong{font-size:1rem}.brand-copy small{font-size:.46rem}.topbar-note{letter-spacing:.07em}.gate-hero{position:relative;isolation:isolate;height:100vh;max-height:100vh;display:flex;align-items:center;padding:110px clamp(24px, 8vw, 130px) 60px;overflow:hidden;}.hero-copy h1{font-size:3.35rem}.lead{font-size:1.12rem}.gate-desc{font-size:.83rem}.btn{min-width:100%;padding:13px 12px}.bridge-scene{position:absolute;z-index:1;top:0;bottom:0;right:-4%;width:70%;overflow:hidden;pointer-events:none;mask-image:linear-gradient(90deg,transparent 0%,#000 15%,#000 90%,transparent 100%);}.gate-bottom{left:22px;right:22px;font-size:.42rem}.realm-hero{padding-left:22px;padding-right:22px}.realm-hero h1{font-size:3.15rem}.realm-lead{font-size:1rem}.realm-art{right:-35%;width:155%}.realm-art-tag{right:22%;top:52%}.user-area{font-size:.57rem}.logout-button{font-size:.58rem}.intro-grid h2,.guardian-copy h2{font-size:2.65rem}.quote-line p{font-size:1.13rem}.quote-mark{font-size:3.9rem}.fact-row{gap:20px}.fact-row b{font-size:1.6rem}.fact-row span{font-size:.56rem}.ragnarok-content h2{font-size:2.8rem}.footer-top{gap:19px}.footer-runes{font-size:1rem;letter-spacing:.32em}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}}

/* Expanded nine-world atlas and luminous spectrum */
.worlds-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.worlds-note{max-width:820px;margin:25px auto 0;text-align:center;color:#737f9f;font-size:.68rem;line-height:1.7}
.world-card--vanaheim{--card-glow:rgba(126,205,161,.18)}.world-card--jotunheim{--card-glow:rgba(130,147,205,.2)}.world-card--alfheim{--card-glow:rgba(213,211,255,.2)}.world-card--svartalfheim{--card-glow:rgba(199,145,117,.19)}.world-card--muspelheim{--card-glow:rgba(244,103,99,.22)}.world-card--niflheim{--card-glow:rgba(132,202,242,.2)}.world-card--helheim{--card-glow:rgba(158,135,189,.2)}
.spectrum-section{position:relative;overflow:hidden;padding:105px clamp(22px,10vw,155px) 95px;background:radial-gradient(ellipse at 50% 0%,rgba(88,99,169,.19),transparent 63%),#0b1020;border-top:1px solid rgba(193,205,245,.08)}
.spectrum-heading{text-align:center;max-width:700px;margin:0 auto}.spectrum-heading h2{font-family:var(--serif);font-size:clamp(2.7rem,4.8vw,4.6rem);font-weight:400;line-height:1.08;letter-spacing:-.035em;margin:0}.spectrum-heading>p{max-width:620px;margin:22px auto 0;color:#a4b0cb;font-size:.85rem;line-height:1.9}
.spectrum-line{position:relative;max-width:1000px;margin:68px auto 24px;height:14px;border-radius:30px;background:linear-gradient(90deg,#ff737a,#ffad5f,#f2e29c,#88e4c7,#71ccff,#9792ff,#e6a8ff);box-shadow:0 0 35px rgba(157,149,255,.19),0 0 80px rgba(108,202,255,.08)}.spectrum-line:before{content:"";position:absolute;inset:-15px -2%;border:1px solid rgba(184,197,250,.13);border-radius:40px}.spectrum-line:after{content:"";position:absolute;left:-5%;right:-5%;top:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(232,202,140,.4),transparent)}.spectrum-line span{position:absolute;z-index:1;left:5%;top:50%;width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 20px 6px rgba(255,255,255,.6);transform:translateY(-50%);animation:spectrumTravel 10s linear infinite alternate}.spectrum-labels{display:flex;justify-content:space-between;gap:20px;max-width:1000px;margin:0 auto;color:#7986a5;font-size:.52rem;letter-spacing:.2em}
@keyframes spectrumTravel{from{left:4%}to{left:96%}}
.world-card:nth-child(3n+2).will-reveal{transition-delay:70ms}.world-card:nth-child(3n).will-reveal{transition-delay:140ms}
@media(max-width:800px){.worlds-grid{grid-template-columns:1fr;max-width:520px}.spectrum-section{padding-top:80px;padding-bottom:75px}.spectrum-line{margin-top:50px}.spectrum-labels{font-size:.45rem;letter-spacing:.08em;gap:8px}}

/* ================================================================
   BIFRÖST SPECTRUM UPDATE — vivid aurora, prismatic shimmer, lore atlas
   All effects are local CSS/SVG/canvas; no third-party assets required.
   ================================================================ */
:root{
  --prism:linear-gradient(115deg,#ff3d83 0%,#ff813b 14%,#ffe35a 27%,#71f7b7 42%,#35dcff 57%,#7b8bff 72%,#d16cff 86%,#ff62c7 100%);
  --prism-hot:linear-gradient(115deg,#ff4d76,#ffac48,#fff16a,#50ffd0,#41cfff,#a18aff,#ff77d6,#ff4d76);
  --pink-glow:rgba(255,66,161,.21);--blue-glow:rgba(54,186,255,.2);--violet-glow:rgba(156,95,255,.21);--mint-glow:rgba(65,255,200,.13);
}
.realm-page{
  background:
    radial-gradient(ellipse at 8% 12%,rgba(255,50,145,.13),transparent 32%),
    radial-gradient(ellipse at 93% 20%,rgba(48,177,255,.15),transparent 31%),
    radial-gradient(ellipse at 49% 70%,rgba(139,67,255,.12),transparent 36%),
    radial-gradient(ellipse at 80% 93%,rgba(44,255,207,.08),transparent 32%),
    #080b18;
}
.realm-page:before{content:"";position:fixed;inset:-25%;pointer-events:none;z-index:-1;opacity:.21;background:conic-gradient(from 20deg at 50% 50%,transparent 0deg,rgba(255,55,160,.2) 50deg,transparent 92deg,rgba(47,210,255,.18) 165deg,transparent 225deg,rgba(184,79,255,.18) 300deg,transparent 360deg);filter:blur(90px);animation:prismNebula 42s linear infinite}
.topbar--realm{border-image:linear-gradient(90deg,rgba(255,74,152,.55),rgba(255,222,94,.42),rgba(65,240,222,.5),rgba(143,114,255,.55),rgba(255,84,192,.5)) 1;box-shadow:0 8px 40px rgba(0,0,0,.18)}
.brand-mark{border-color:rgba(255,173,232,.62);box-shadow:0 0 18px rgba(255,70,190,.18),0 0 32px rgba(80,190,255,.12);animation:brandHalo 6s ease-in-out infinite alternate}
.brand-mark svg{stroke:#ffb5e8;filter:drop-shadow(0 0 5px rgba(255,132,227,.45))}
.brand-copy strong{background:var(--prism);background-size:260% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:spectrum 7s linear infinite alternate;filter:drop-shadow(0 0 12px rgba(158,116,255,.18))}
.brand-copy small{color:#b7c5e9}
.realm-hero{background:radial-gradient(ellipse at 67% 55%,rgba(255,61,185,.1),transparent 30%),radial-gradient(ellipse at 82% 35%,rgba(72,206,255,.13),transparent 30%)}
.realm-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 72% 30%,rgba(255,244,178,.15),transparent 12%),linear-gradient(120deg,transparent 25%,rgba(255,80,180,.035) 45%,rgba(56,224,255,.055) 65%,transparent 82%);background-size:auto,240% 100%;animation:auroraWash 18s ease-in-out infinite alternate}
.realm-hero h1 em,.hero-copy h1 em,h2 em{background-image:var(--prism-hot);background-size:320% 100%;animation:prismText 7s linear infinite;filter:drop-shadow(0 0 18px rgba(191,107,255,.25))}
.realm-art{filter:saturate(1.35) contrast(1.04)}
.realm-bridge-svg{filter:drop-shadow(0 0 22px rgba(105,142,255,.14))}
.realm-bridge-svg g[filter="url(#bigGlow)"] path{animation:bridgeGlint 7s ease-in-out infinite alternate}
.realm-art-tag{border-color:rgba(255,144,225,.46);box-shadow:0 0 30px rgba(197,82,255,.16),inset 0 0 26px rgba(88,188,255,.08)}
.realm-art-tag .tag-rune{color:#ffb0ed;text-shadow:0 0 18px rgba(255,86,203,.75)}
.realm-moon{filter:drop-shadow(0 0 42px rgba(255,124,229,.22))}
.realm-aurora{filter:saturate(1.8);opacity:.8}
.realm-aurora--a{background:linear-gradient(110deg,rgba(255,69,152,.16),rgba(255,220,90,.08),rgba(54,245,210,.2),rgba(83,130,255,.16),rgba(208,86,255,.18))}
.realm-aurora--b{background:linear-gradient(110deg,rgba(92,115,255,.09),rgba(255,88,214,.18),rgba(77,255,220,.12),rgba(255,171,60,.12))}
.intro-band{background:radial-gradient(ellipse at 12% 80%,rgba(255,64,161,.075),transparent 34%),radial-gradient(ellipse at 90% 12%,rgba(66,204,255,.075),transparent 32%),#0a0e20}
.intro-band:before,.worlds-section:before,.spectrum-section:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.2;background:linear-gradient(120deg,transparent 10%,rgba(255,255,255,.025) 42%,transparent 60%,rgba(104,241,255,.035) 76%,transparent 90%);background-size:230% 100%;animation:lightSweep 18s ease-in-out infinite}
.quote-line{border-top-color:rgba(255,102,201,.22);border-bottom-color:rgba(76,208,255,.2);background:linear-gradient(100deg,rgba(255,48,153,.035),rgba(118,85,255,.055),rgba(44,226,255,.035));box-shadow:0 0 60px rgba(109,87,255,.06)}
.quote-mark{background:var(--prism);background-clip:text;-webkit-background-clip:text;color:transparent}
.guardian-section{background:radial-gradient(ellipse at 24% 48%,rgba(255,63,180,.16),transparent 36%),radial-gradient(ellipse at 75% 78%,rgba(63,207,255,.11),transparent 30%),linear-gradient(112deg,#0d1022,#10152b 58%,#0a0e20)}
.guardian-ring{border-color:rgba(255,137,229,.52);box-shadow:0 0 0 18px rgba(255,80,190,.035),0 0 0 50px rgba(89,134,255,.03),inset 0 0 80px rgba(255,92,207,.12),0 0 85px rgba(134,80,255,.13);animation:ringPulse 7s ease-in-out infinite,ringPrism 12s linear infinite}
.guardian-rune{color:#ffb5e9;text-shadow:0 0 32px rgba(255,78,200,.55),0 0 90px rgba(88,184,255,.48);animation:runeGlow 5s ease-in-out infinite alternate}
.fact-row b{background:var(--prism);background-clip:text;-webkit-background-clip:text;color:transparent}
.worlds-section{position:relative;background:radial-gradient(ellipse at 12% 35%,rgba(255,65,166,.09),transparent 33%),radial-gradient(ellipse at 88% 55%,rgba(62,196,255,.11),transparent 36%),#090d1d}
.world-card{border-color:rgba(255,255,255,.12);background:linear-gradient(145deg,rgba(25,29,59,.88),rgba(9,14,32,.94));box-shadow:0 15px 35px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.045)}
.world-card:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;background:radial-gradient(ellipse at 0% 0%,var(--card-glow,rgba(255,97,195,.12)),transparent 57%)}
.world-card:nth-child(7){--card-glow:rgba(255,94,71,.3)}.world-card:nth-child(8){--card-glow:rgba(68,207,255,.25)}.world-card:nth-child(9){--card-glow:rgba(177,112,255,.24)}
.world-card:hover{border-color:rgba(255,172,235,.52);box-shadow:0 25px 62px rgba(0,0,0,.32),0 0 36px var(--card-glow,rgba(255,97,195,.13)),inset 0 0 28px rgba(255,255,255,.025)}
.world-symbol{background:var(--prism-hot);background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 0 16px rgba(255,118,222,.15))}
.spectrum-section{background:radial-gradient(ellipse at 50% 15%,rgba(255,58,172,.12),transparent 42%),radial-gradient(ellipse at 10% 90%,rgba(55,215,255,.1),transparent 34%),#0b1020}
.spectrum-line{background:linear-gradient(90deg,#ff256f,#ff813b,#fff15b,#55ffb8,#32dbff,#7c78ff,#ed54ff,#ff256f);background-size:240% 100%;animation:prismBar 8s linear infinite;box-shadow:0 0 25px rgba(255,58,176,.19),0 0 55px rgba(62,190,255,.17),0 0 90px rgba(169,82,255,.1)}
.spectrum-line span{background:#fff;box-shadow:0 0 14px 7px rgba(255,255,255,.75),0 0 30px 12px rgba(255,104,230,.38)}
.ragnarok-section{background:radial-gradient(ellipse at 80% 50%,rgba(255,63,99,.14),transparent 40%),radial-gradient(ellipse at 15% 75%,rgba(147,70,255,.1),transparent 36%),#0d1021}
.ragnarok-bg{background:radial-gradient(ellipse at 75% 48%,rgba(255,96,96,.19),transparent 42%),radial-gradient(ellipse at 34% 78%,rgba(130,65,255,.1),transparent 43%),linear-gradient(110deg,rgba(7,10,19,.94),rgba(11,15,30,.35)),repeating-linear-gradient(160deg,transparent 0 70px,rgba(255,111,164,.035) 71px 72px)}
.site-footer{background:radial-gradient(ellipse at 15% 0%,rgba(255,63,160,.08),transparent 40%),radial-gradient(ellipse at 90% 0%,rgba(60,195,255,.08),transparent 40%),#070a14;border-image:var(--prism-hot) 1;border-top:2px solid transparent}
.footer-top>p em{background:var(--prism);background-clip:text;-webkit-background-clip:text;color:transparent}
.footer-runes{color:#c4a9ff;text-shadow:0 0 22px rgba(166,100,255,.3)}

/* Lore atlas */
.lore-section{position:relative;isolation:isolate;overflow:hidden;padding:clamp(82px,8.5vw,132px) clamp(22px,7vw,110px);background:#0b1021}
.lore-section:before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse at 0% 20%,rgba(255,50,149,.11),transparent 34%),radial-gradient(ellipse at 100% 70%,rgba(53,204,255,.1),transparent 34%);opacity:.8}
.lore-heading{position:relative;max-width:850px;margin:0 auto 54px;text-align:center}
.lore-heading h2,.yggdrasil-heading h2{font-family:var(--serif);font-size:clamp(2.75rem,5.2vw,5.2rem);font-weight:400;line-height:1.06;letter-spacing:-.04em;margin:0 0 25px;text-wrap:balance}
.lore-heading>p,.yggdrasil-heading>p{max-width:760px;margin:0 auto;color:#b5bfd9;font-size:.91rem;line-height:1.95}
.lore-kicker{display:flex;align-items:center;gap:12px;color:#c8d4ef;font-size:.59rem;letter-spacing:.2em;margin:0 0 20px}
.lore-glyph{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,126,219,.5);color:#ffb2e6;box-shadow:0 0 24px rgba(255,73,186,.18),inset 0 0 20px rgba(100,126,255,.12);font-size:1.1rem}
.asgard-lore{background:radial-gradient(ellipse at 82% 18%,rgba(255,202,74,.09),transparent 32%),radial-gradient(ellipse at 12% 72%,rgba(255,57,162,.09),transparent 35%),linear-gradient(180deg,#0a0e20,#10112a 65%,#0b1021)}
.asgard-showcase{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(30px,5vw,75px);align-items:center;max-width:1380px;margin:0 auto}
.asgard-illustration{position:relative;min-height:420px;aspect-ratio:7/5;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:26px;border:1px solid transparent;background:linear-gradient(155deg,rgba(18,23,50,.9),rgba(7,12,28,.94)) padding-box,linear-gradient(125deg,#ff3b9d,#ffb443,#fff06b,#4ef4c5,#4dc8ff,#9f72ff,#ff57d4) border-box;background-size:auto,280% 280%;animation:rainbowBorder 12s ease infinite;box-shadow:0 28px 90px rgba(0,0,0,.35),0 0 60px rgba(255,82,196,.09),inset 0 0 80px rgba(76,179,255,.06)}
.asgard-illustration:before{content:"";position:absolute;inset:-30%;background:conic-gradient(from 90deg at 50% 50%,transparent,rgba(255,66,171,.18),transparent,rgba(77,217,255,.18),transparent,rgba(255,216,102,.12),transparent);filter:blur(40px);animation:prismNebula 30s linear infinite}
.asgard-illustration:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 28%,rgba(255,255,255,.08) 43%,transparent 55%);transform:translateX(-100%);animation:illustrationShine 9s ease-in-out infinite;pointer-events:none}
.asgard-illustration svg{position:absolute;bottom:0;width:100%;height:100%;z-index:1;filter:saturate(1.5) drop-shadow(0 0 24px rgba(255,125,232,.12))}
.asgard-sun{position:absolute;top:9%;left:50%;width:125px;height:125px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,245,192,.6),rgba(255,139,224,.14) 45%,transparent 70%);filter:blur(3px);box-shadow:0 0 70px rgba(255,160,221,.3)}
.asgard-orbit{position:absolute;top:4%;left:50%;width:68%;height:34%;border:1px solid rgba(255,142,224,.22);border-radius:50%;transform:translateX(-50%) rotate(-9deg);box-shadow:0 0 22px rgba(143,111,255,.09)}
.asgard-orbit--two{width:83%;height:43%;top:0%;border-color:rgba(80,219,255,.18);transform:translateX(-50%) rotate(12deg)}
.asgard-illustration-label{position:absolute;z-index:3;left:24px;right:24px;bottom:20px;display:flex;justify-content:space-between;gap:20px;color:#c1cceb;font-size:.56rem;letter-spacing:.23em;text-shadow:0 2px 12px #080b18}
.asgard-illustration-label span:first-child{color:#fff0bd}
.asgard-copy h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.7rem,2.4vw,2.5rem);line-height:1.15;margin:0 0 18px}
.asgard-copy>p{color:#aeb9d5;font-size:.87rem;line-height:1.9;margin:0 0 27px}
.hall-list{display:grid;gap:0;border-top:1px solid rgba(183,199,246,.13)}
.hall-item{display:grid;grid-template-columns:36px 1fr;gap:15px;padding:15px 0;border-bottom:1px solid rgba(183,199,246,.13)}
.hall-item>span{font-family:var(--serif);font-size:1.05rem;color:#ffa9e8;text-shadow:0 0 18px rgba(255,82,190,.28)}
.hall-item h4{font-size:.86rem;margin:0 0 4px;color:#eff1ff;font-weight:600}
.hall-item p{font-size:.76rem;line-height:1.75;color:#9eaaca;margin:0}
.lore-callout{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:20px;max-width:1150px;margin:58px auto 0;padding:23px 25px;border:1px solid rgba(255,117,211,.26);border-radius:15px;background:linear-gradient(110deg,rgba(255,58,157,.075),rgba(115,92,255,.08),rgba(52,205,255,.06));box-shadow:0 15px 50px rgba(0,0,0,.13),inset 0 0 45px rgba(126,103,255,.035)}
.callout-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;font-size:1.35rem;background:var(--prism-hot);background-size:260%;background-clip:text;-webkit-background-clip:text;color:transparent;border:1px solid rgba(255,255,255,.15);box-shadow:inset 0 0 22px rgba(255,105,220,.1)}
.lore-callout p{color:#b5c0db;font-size:.8rem;line-height:1.8;margin:0}.lore-callout p strong{color:#fff0c7}.lore-callout>a,.god-card>a,.being-card>a,.saga-content>a{white-space:nowrap;text-decoration:none;color:#ffb1e9;font-size:.68rem;letter-spacing:.035em;transition:color .25s,text-shadow .25s}.lore-callout>a:hover,.god-card>a:hover,.being-card>a:hover,.saga-content>a:hover{color:#fff;text-shadow:0 0 16px rgba(255,100,223,.75)}
.gods-section{background:radial-gradient(ellipse at 80% 15%,rgba(117,70,255,.13),transparent 32%),radial-gradient(ellipse at 10% 60%,rgba(255,64,168,.08),transparent 32%),#0a0e20}
.pantheon-tabs{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin:-18px auto 34px;max-width:1200px}
.pantheon-pill{padding:9px 14px;border:1px solid;border-radius:999px;font-size:.54rem;letter-spacing:.13em;background:rgba(8,12,28,.45)}
.pantheon-pill--aesir{color:#ffb4e6;border-color:rgba(255,99,197,.38);box-shadow:inset 0 0 24px rgba(255,75,189,.06),0 0 22px rgba(255,75,189,.04)}
.pantheon-pill--vanir{color:#9fffe0;border-color:rgba(83,255,194,.31);box-shadow:inset 0 0 24px rgba(71,255,197,.045),0 0 22px rgba(71,255,197,.035)}
.pantheon-note{flex-basis:100%;text-align:center;color:#7785a7;font-size:.67rem;margin-top:3px}
.gods-grid,.beings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1450px;margin:0 auto}
.lore-card{position:relative;isolation:isolate;overflow:hidden;min-width:0;border:1px solid transparent;border-radius:17px;padding:25px 25px 23px;background:linear-gradient(150deg,rgba(22,27,57,.96),rgba(9,14,32,.96)) padding-box,linear-gradient(130deg,#ff3b9d,#ffb443,#fff06b,#4ef4c5,#4dc8ff,#9f72ff,#ff57d4) border-box;background-size:auto,300% 300%;animation:rainbowBorder 16s linear infinite;box-shadow:0 18px 48px rgba(0,0,0,.21),inset 0 1px rgba(255,255,255,.04);transition:transform .4s var(--ease),box-shadow .4s,border-color .4s}
.lore-card:before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse at 0% 0%,var(--card-a,rgba(255,76,186,.12)),transparent 55%),radial-gradient(ellipse at 100% 100%,var(--card-b,rgba(71,192,255,.08)),transparent 54%);opacity:.85}
.lore-card:after{content:"";position:absolute;z-index:2;inset:-20% -80%;pointer-events:none;background:linear-gradient(110deg,transparent 37%,rgba(255,255,255,.07) 48%,rgba(255,255,255,.02) 51%,transparent 63%);transform:translateX(-45%);animation:cardGlitter 12s ease-in-out infinite;opacity:.5}
.lore-card:hover{transform:translateY(-7px);box-shadow:0 28px 66px rgba(0,0,0,.34),0 0 36px var(--card-a,rgba(255,76,186,.14)),0 0 25px var(--card-b,rgba(71,192,255,.08)),inset 0 1px rgba(255,255,255,.09)}
.lore-card>*{position:relative;z-index:3}
.god-card{display:flex;flex-direction:column;min-height:330px;padding:24px 24px 22px}
.god-card--odin{--card-a:rgba(156,119,255,.2);--card-b:rgba(255,193,90,.11)}.god-card--thor{--card-a:rgba(66,165,255,.22);--card-b:rgba(255,206,84,.1)}.god-card--frigg{--card-a:rgba(182,134,255,.18);--card-b:rgba(87,201,255,.12)}.god-card--tyr{--card-a:rgba(255,123,112,.18);--card-b:rgba(255,197,104,.09)}.god-card--heimdall{--card-a:rgba(255,188,76,.2);--card-b:rgba(76,211,255,.1)}.god-card--baldr{--card-a:rgba(255,234,115,.16);--card-b:rgba(255,132,203,.1)}.god-card--freyja{--card-a:rgba(255,89,187,.2);--card-b:rgba(171,99,255,.12)}.god-card--freyr{--card-a:rgba(93,255,176,.15);--card-b:rgba(255,221,98,.1)}.god-card--loki{--card-a:rgba(255,86,111,.16);--card-b:rgba(123,90,255,.15)}
.god-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.god-symbol{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;color:#fff1bd;font-size:1.8rem;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.015));border:1px solid rgba(255,255,255,.15);text-shadow:0 0 22px rgba(255,123,223,.55);box-shadow:0 0 30px rgba(255,90,206,.1),inset 0 0 18px rgba(83,194,255,.04)}
.god-kind,.being-type{font-size:.5rem;letter-spacing:.16em;color:#a9b7d7;text-align:right}
.god-card h3,.being-card h3{font-family:var(--serif);font-size:1.8rem;font-weight:400;line-height:1.1;margin:0 0 13px;color:#f8f1ff}
.god-card p,.being-card p{font-size:.78rem;line-height:1.85;color:#a8b5d2;margin:0 0 20px;flex:1}
.god-traits{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 21px}
.god-traits span{padding:5px 8px;border:1px solid rgba(195,203,255,.13);border-radius:999px;color:#c2c9e5;font-size:.54rem;background:rgba(8,12,27,.36)}
.lore-note{display:grid;grid-template-columns:30px 1fr;gap:14px;max-width:1100px;margin:34px auto 0;padding:20px 23px;border-left:2px solid #c78cff;background:linear-gradient(100deg,rgba(158,91,255,.09),rgba(65,211,255,.04));color:#aab6d3}
.lore-note>span{color:#c5a0ff;font-size:1.25rem}.lore-note p{font-size:.76rem;line-height:1.8;margin:0}.lore-note strong{color:#e5d2ff}
.yggdrasil-section{position:relative;isolation:isolate;overflow:hidden;padding:clamp(86px,8vw,130px) clamp(22px,7vw,110px);background:radial-gradient(ellipse at 75% 30%,rgba(74,255,189,.1),transparent 36%),radial-gradient(ellipse at 10% 72%,rgba(126,78,255,.14),transparent 36%),linear-gradient(180deg,#080e1e,#0a1422 54%,#090d1d)}
.yggdrasil-backdrop{position:absolute;z-index:-1;inset:0;opacity:.28;background-image:linear-gradient(rgba(118,222,215,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(118,222,215,.045) 1px,transparent 1px);background-size:68px 68px;mask-image:linear-gradient(180deg,transparent,#000 20%,#000 78%,transparent)}
.yggdrasil-heading{max-width:880px;margin:0 auto 55px;text-align:center}
.tree-composition{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);align-items:center;gap:clamp(35px,6vw,90px);max-width:1350px;margin:0 auto}
.tree-art{position:relative;min-height:530px;overflow:hidden;border-radius:28px;border:1px solid rgba(119,247,213,.22);background:radial-gradient(ellipse at 50% 23%,rgba(98,255,210,.16),transparent 31%),radial-gradient(ellipse at 50% 100%,rgba(163,85,255,.2),transparent 50%),linear-gradient(155deg,rgba(16,37,52,.7),rgba(8,15,32,.94));box-shadow:inset 0 0 70px rgba(70,236,192,.04),0 24px 85px rgba(0,0,0,.25)}
.tree-art:before{content:"";position:absolute;left:50%;top:6%;width:55%;height:88%;transform:translateX(-50%);border-radius:50%;border:1px solid rgba(101,255,219,.23);box-shadow:0 0 0 26px rgba(90,255,223,.025),0 0 0 58px rgba(149,112,255,.025),0 0 70px rgba(79,253,205,.08)}
.tree-trunk{position:absolute;z-index:2;left:calc(50% - 20px);top:24%;width:40px;height:51%;border-radius:45% 45% 12px 12px;background:linear-gradient(90deg,#173a40,#80e7bd 48%,#163c48);box-shadow:0 0 32px rgba(98,255,193,.3)}
.tree-trunk:before{content:"";position:absolute;left:-80px;top:-3px;width:200px;height:35px;border-top:8px solid #58bfa5;border-radius:50%;transform:rotate(-19deg);box-shadow:0 -4px 18px rgba(88,255,200,.2)}
.tree-trunk:after{content:"";position:absolute;left:-70px;top:28px;width:190px;height:50px;border-top:7px solid #3e9d9c;border-radius:50%;transform:rotate(22deg)}
.tree-crown{position:absolute;z-index:1;left:50%;top:8%;transform:translateX(-50%);border-radius:48% 52% 40% 60%;background:radial-gradient(circle at 40% 36%,rgba(115,255,213,.8),rgba(43,164,154,.44) 45%,rgba(20,84,103,.2) 70%,transparent 72%);filter:drop-shadow(0 0 22px rgba(74,255,202,.22))}
.tree-crown--a{width:64%;height:30%;transform:translateX(-50%) rotate(-12deg)}.tree-crown--b{width:48%;height:32%;top:12%;left:32%;transform:rotate(24deg)}.tree-crown--c{width:48%;height:28%;top:10%;left:69%;transform:rotate(-25deg)}
.tree-root{position:absolute;z-index:2;left:calc(50% - 4px);top:71%;height:26%;width:4px;transform-origin:top;background:linear-gradient(#66e9bf,rgba(129,104,255,.1));box-shadow:0 0 14px rgba(110,236,209,.2)}
.tree-root--a{transform:rotate(61deg);height:29%}.tree-root--b{transform:rotate(-60deg);height:31%}.tree-root--c{transform:rotate(4deg);height:27%}
.tree-star{position:absolute;z-index:3;color:#e5ffb9;text-shadow:0 0 16px #69ffd3,0 0 32px rgba(110,130,255,.7);animation:starPulse 3s ease-in-out infinite alternate}.tree-star--a{left:23%;top:25%;font-size:1.4rem}.tree-star--b{right:22%;top:38%;font-size:2rem;animation-delay:.8s}.tree-star--c{left:34%;top:61%;font-size:1.1rem;animation-delay:1.4s}.tree-star--d{right:31%;top:17%;font-size:1.2rem;animation-delay:.4s}
.tree-stories{display:grid;gap:14px}
.tree-story{display:grid;grid-template-columns:52px 1fr;gap:17px;padding:23px 23px;border:1px solid rgba(107,255,218,.19);border-radius:16px;background:linear-gradient(120deg,rgba(27,63,66,.52),rgba(16,20,44,.69));box-shadow:inset 0 0 38px rgba(64,251,192,.025),0 15px 35px rgba(0,0,0,.12);transition:transform .35s,border-color .35s,box-shadow .35s}
.tree-story:hover{transform:translateX(5px);border-color:rgba(124,255,219,.48);box-shadow:0 0 30px rgba(73,255,199,.07)}
.tree-story-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;border:1px solid rgba(107,255,218,.24);color:#9effdd;font-size:1.35rem;background:rgba(76,231,182,.06);text-shadow:0 0 18px rgba(94,255,211,.4)}
.tree-story h3{font-family:var(--serif);font-size:1.32rem;font-weight:400;margin:1px 0 8px;color:#e5fff4}.tree-story p{font-size:.76rem;line-height:1.85;color:#9bb6c1;margin:0}
.beings-section{background:radial-gradient(ellipse at 80% 15%,rgba(255,70,171,.09),transparent 33%),radial-gradient(ellipse at 15% 80%,rgba(101,92,255,.1),transparent 35%),#090e1e}
.being-card{display:flex;flex-direction:column;min-height:300px;--card-a:rgba(255,85,194,.14);--card-b:rgba(65,202,255,.1)}
.being-card:nth-child(3n+2){--card-a:rgba(91,255,205,.13);--card-b:rgba(105,119,255,.1)}.being-card:nth-child(3n){--card-a:rgba(255,183,82,.13);--card-b:rgba(198,90,255,.12)}
.being-sigil{font-family:var(--serif);font-size:2.3rem;line-height:1;color:#ffb4e8;text-shadow:0 0 20px rgba(255,90,210,.45);margin:0 0 23px}
.being-type{text-align:left;color:#9bb7dc;margin:0 0 11px}
.saga-section{background:radial-gradient(ellipse at 20% 10%,rgba(255,143,74,.1),transparent 34%),radial-gradient(ellipse at 85% 70%,rgba(168,79,255,.1),transparent 38%),#0d1021}
.saga-timeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:1350px;margin:0 auto}
.saga-card{position:relative;display:grid;grid-template-columns:70px 1fr;gap:20px;overflow:hidden;padding:28px;border:1px solid rgba(255,255,255,.11);border-radius:18px;background:linear-gradient(145deg,rgba(26,30,60,.85),rgba(11,15,33,.95));box-shadow:0 18px 45px rgba(0,0,0,.18);transition:transform .35s,border-color .35s,box-shadow .35s}
.saga-card:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(125deg,rgba(255,71,169,.07),transparent 40%,rgba(61,201,255,.05));opacity:.8}
.saga-card:hover{transform:translateY(-5px);border-color:rgba(255,155,225,.34);box-shadow:0 25px 55px rgba(0,0,0,.28),0 0 32px rgba(174,97,255,.06)}
.saga-number{font-family:var(--serif);font-size:2.5rem;line-height:1;color:transparent;background:var(--prism-hot);background-size:200%;background-clip:text;-webkit-background-clip:text;text-shadow:none}
.saga-label{display:block;font-size:.51rem;letter-spacing:.17em;color:#ffafe5;margin:0 0 11px}
.saga-content h3{font-family:var(--serif);font-weight:400;font-size:1.55rem;line-height:1.17;margin:0 0 12px}.saga-content p{font-size:.78rem;line-height:1.87;color:#a8b3ce;margin:0 0 17px}.saga-content>a{font-size:.61rem}
.sources-section{position:relative;isolation:isolate;overflow:hidden;padding:clamp(83px,8vw,125px) clamp(22px,7vw,110px) 85px;background:radial-gradient(ellipse at 85% 20%,rgba(72,195,255,.1),transparent 34%),radial-gradient(ellipse at 15% 80%,rgba(255,61,167,.1),transparent 36%),#080c1a}
.sources-section:before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:linear-gradient(125deg,transparent,rgba(255,255,255,.035),transparent);background-size:250% 100%;animation:lightSweep 17s linear infinite}
.sources-section .lore-heading{margin-bottom:42px}
.sources-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:1360px;margin:0 auto}
.source-link{position:relative;display:flex;flex-direction:column;min-height:125px;padding:19px 18px;text-decoration:none;border:1px solid transparent;border-radius:13px;background:linear-gradient(145deg,rgba(22,28,56,.9),rgba(8,13,29,.95)) padding-box,linear-gradient(135deg,rgba(255,79,190,.45),rgba(255,217,92,.26),rgba(68,227,226,.3),rgba(148,105,255,.42)) border-box;background-size:auto,240% 240%;animation:rainbowBorder 18s ease infinite;transition:transform .3s,box-shadow .3s}
.source-link:hover{transform:translateY(-4px);box-shadow:0 15px 38px rgba(0,0,0,.26),0 0 26px rgba(148,105,255,.1)}
.source-link>span{font-size:.55rem;letter-spacing:.13em;color:#ffb2e7;margin-bottom:14px}.source-link strong{font-family:var(--serif);font-size:1.1rem;font-weight:400;color:#f0eaff;margin-bottom:7px}.source-link small{font-size:.64rem;line-height:1.6;color:#93a2c3}
.sources-disclaimer{max-width:900px;margin:32px auto 0;text-align:center;font-size:.67rem;line-height:1.8;color:#737f9e}
/* Increased colour and sparkle on the public gate as well. */
.gate-page{background:radial-gradient(ellipse at 78% 40%,rgba(255,56,170,.13),transparent 35%),radial-gradient(ellipse at 12% 88%,rgba(66,200,255,.12),transparent 35%),radial-gradient(ellipse at 80% 95%,rgba(158,92,255,.12),transparent 40%),#070a17}
.gate-page .brand-copy strong{background-image:var(--prism);background-size:260%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:prismText 7s linear infinite}
.gate-page .brand-mark{border-color:rgba(255,139,226,.5);box-shadow:0 0 22px rgba(255,71,198,.17),0 0 38px rgba(60,196,255,.11)}
.gate-page .hero-copy h1 em{filter:drop-shadow(0 0 22px rgba(255,93,206,.35))}
.gate-page .btn{border-color:rgba(255,139,226,.43);background:linear-gradient(110deg,rgba(255,60,168,.16),rgba(119,77,255,.14),rgba(48,201,255,.12));box-shadow:0 15px 45px rgba(0,0,0,.25),0 0 28px rgba(255,69,187,.07)}
.gate-page .btn:hover{border-color:rgba(255,196,244,.86);box-shadow:0 18px 55px rgba(0,0,0,.34),0 0 35px rgba(255,69,187,.17),0 0 44px rgba(60,183,255,.1)}
@keyframes prismText{0%{background-position:0% 50%;filter:drop-shadow(0 0 9px rgba(255,87,182,.22))}33%{filter:drop-shadow(0 0 17px rgba(255,218,90,.22))}66%{filter:drop-shadow(0 0 17px rgba(54,220,255,.25))}100%{background-position:100% 50%;filter:drop-shadow(0 0 16px rgba(180,104,255,.3))}}
@keyframes rainbowBorder{0%{background-position:0 0,0% 50%}50%{background-position:0 0,100% 50%}100%{background-position:0 0,0% 50%}}
@keyframes prismBar{0%{background-position:0% 50%}100%{background-position:240% 50%}}
@keyframes prismNebula{0%{transform:rotate(0deg) scale(1)}50%{transform:rotate(180deg) scale(1.1)}100%{transform:rotate(360deg) scale(1)}}
@keyframes auroraWash{0%{background-position:0 0,0% 50%;filter:hue-rotate(0deg)}100%{background-position:0 0,100% 50%;filter:hue-rotate(30deg)}}
@keyframes bridgeGlint{0%{stroke-dashoffset:0;filter:drop-shadow(0 0 5px rgba(255,105,220,.2))}50%{filter:drop-shadow(0 0 10px rgba(68,219,255,.6))}100%{stroke-dashoffset:-300;filter:drop-shadow(0 0 7px rgba(190,112,255,.3))}}
@keyframes lightSweep{0%,25%{background-position:160% 0}75%,100%{background-position:-160% 0}}
@keyframes illustrationShine{0%,28%{transform:translateX(-100%)}70%,100%{transform:translateX(100%)}}
@keyframes cardGlitter{0%,8%{transform:translateX(-55%)}65%,100%{transform:translateX(55%)}}
@keyframes starPulse{from{opacity:.45;transform:scale(.8);filter:brightness(.9)}to{opacity:1;transform:scale(1.15);filter:brightness(1.45)}}
@keyframes brandHalo{from{box-shadow:0 0 18px rgba(255,70,190,.14),0 0 32px rgba(80,190,255,.08)}to{box-shadow:0 0 27px rgba(255,70,190,.27),0 0 42px rgba(80,190,255,.17)}}
@keyframes ringPrism{0%{border-color:rgba(255,120,226,.5)}33%{border-color:rgba(255,220,111,.45)}66%{border-color:rgba(69,236,225,.45)}100%{border-color:rgba(168,119,255,.5)}}
@media(max-width:1100px){.asgard-showcase,.tree-composition{gap:30px}.gods-grid,.beings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sources-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lore-callout{grid-template-columns:42px 1fr}.lore-callout>a{grid-column:2}.main-nav{gap:10px}.main-nav a{font-size:.63rem}}
@media(max-width:800px){.asgard-showcase,.tree-composition{grid-template-columns:1fr}.asgard-illustration{min-height:360px;max-height:500px}.asgard-copy{padding:0 2px}.lore-callout{margin-top:38px}.lore-heading{margin-bottom:40px}.lore-heading h2,.yggdrasil-heading h2{font-size:clamp(2.8rem,10vw,4.2rem)}.gods-grid,.beings-grid{grid-template-columns:1fr;max-width:570px}.god-card{min-height:285px}.saga-timeline{grid-template-columns:1fr;max-width:700px}.tree-art{min-height:440px;max-height:540px}.tree-stories{max-width:720px;margin:0 auto}.sources-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lore-section{padding-top:80px;padding-bottom:84px}.main-nav{display:none}}
@media(max-width:520px){.lore-callout{grid-template-columns:38px 1fr;gap:13px;padding:18px}.callout-mark{width:38px;height:38px}.lore-callout p{font-size:.75rem}.lore-callout>a{grid-column:1/-1;margin-left:51px}.asgard-illustration{min-height:300px;border-radius:18px}.asgard-illustration-label{left:15px;right:15px;font-size:.45rem;letter-spacing:.13em}.hall-item{grid-template-columns:27px 1fr;gap:10px}.hall-item p{font-size:.73rem}.pantheon-pill{font-size:.46rem;letter-spacing:.08em}.pantheon-note{line-height:1.6;font-size:.61rem}.lore-card{padding:22px}.god-card h3,.being-card h3{font-size:1.7rem}.tree-art{min-height:355px;border-radius:20px}.tree-crown--a{width:75%}.tree-crown--b{width:55%;left:30%}.tree-crown--c{width:55%;left:72%}.tree-story{grid-template-columns:42px 1fr;gap:13px;padding:18px}.tree-story-icon{width:42px;height:42px}.saga-card{grid-template-columns:43px 1fr;gap:12px;padding:20px}.saga-number{font-size:2rem}.saga-content h3{font-size:1.35rem}.sources-grid{gap:9px}.source-link{min-height:128px;padding:15px 13px}.source-link strong{font-size:.96rem}.source-link small{font-size:.58rem}.sources-disclaimer{font-size:.62rem}}
@media(prefers-reduced-motion:reduce){.realm-page:before,.brand-mark,.brand-copy strong,.realm-hero:before,.realm-art-tag,.guardian-ring,.spectrum-line,.lore-card,.asgard-illustration,.asgard-illustration:before,.asgard-illustration:after,.tree-star,.sources-section:before,.source-link,.realm-bridge-svg g[filter="url(#bigGlow)"] path{animation:none!important}.lore-card:after{display:none}.realm-hero h1 em,.hero-copy h1 em,h2 em{animation:none!important;background-position:50% 50%!important}}

/* Layout correction: public Bifröst gate — balanced desktop composition */
@media (min-width: 801px) {
  .gate-hero {
    padding-top: 88px;
    padding-bottom: 124px;
  }

  .bridge-scene {
    top: 0;
    right: -3%;
    width: 70%;
    height: 99%;
    min-height: 0;
    mask-image: linear-gradient(90deg, transparent 0%, #000 7%, #000 96%, transparent 100%);
  }

  .bridge-art {
    right: -4%;
    bottom: -2%;
    width: 108%;
    height: 102%;
  }

  .moon,
  .halo {
    top: 15%;
    right: 22%;
  }

  .scene-caption {
    bottom: 11%;
  }
}

/* Keep the artwork balanced on shorter desktop windows too. */
@media (min-width: 801px) and (max-height: 760px) {
  .gate-hero {
    padding-top: 78px;
    padding-bottom: 120px;
  }

  .bridge-scene {
    top: 0;
    height: 98%;
  }

  .bridge-art {
    bottom: -2%;
    height: 102%;
  }
}

/* Tablet layout: keep the bridge to the right of the copy. */
@media (min-width: 801px) and (max-width: 1100px) {
  .hero-copy {
    width: 48%;
    max-width: 510px;
  }

  .bridge-scene {
    right: -8%;
    width: 74%;
  }
}

/* Mobile composition is intentionally layered behind the copy. */
@media (max-width: 800px) {
  .bridge-scene {
    top: 27%;
    right: -26%;
    width: 122%;
    height: 67%;
    min-height: 460px;
  }

  .bridge-art {
    right: -3%;
    bottom: -2%;
    width: 108%;
    height: 102%;
  }
}
