:root{color-scheme:dark;--ink:#0c0911;--surface:#14101c;--purple:#9f4ce1;--gold:#d8bd8e;--text:#f0e9dd;--muted:#b7adb8;--border:#51404b;--font:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--ink);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.65}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button:focus-visible,a:focus-visible{outline:2px solid #d4adff;outline-offset:6px}::selection{background:#683b91;color:#fff}.skip-link{position:fixed;left:20px;top:-100px;z-index:30;padding:10px;background:var(--ink)}.skip-link:focus{top:10px}.site-header{height:90px;border-bottom:1px solid #584440;background:linear-gradient(180deg,#17111a,#0c0911ed);position:absolute;z-index:10;width:100%}.nav-shell{max-width:1330px;margin:auto;height:100%;padding:0 32px;display:flex;gap:40px;align-items:center}.brand{display:flex;align-items:center;gap:10px}.brand img{object-fit:contain}.brand span{font-family:var(--font);font-size:29px;font-weight:bold;letter-spacing:3px;color:var(--gold);text-shadow:0 2px 1px #000}.nav-shell nav{margin-left:auto;display:flex;gap:36px;align-items:center}.nav-shell nav a{font-family:var(--font);font-size:14px;letter-spacing:1.1px;text-transform:uppercase;color:#d4cbd5;position:relative;padding:30px 0}.nav-shell nav a:hover,.nav-shell nav a.active{color:#efd7ad}.nav-shell nav a.active:after{content:'';position:absolute;bottom:19px;left:calc(50% - 2px);width:4px;height:4px;background:var(--gold);transform:rotate(45deg)}.button{border:1px solid #a78565;padding:16px 35px;min-height:56px;color:#fff3e0;font-family:var(--font);font-size:16px;font-weight:bold;letter-spacing:1.6px;text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:12px;transition:filter .2s,transform .2s,box-shadow .2s;position:relative;border-radius:2px;box-shadow:inset 0 0 0 3px #14091b,0 0 0 1px #392b30;text-shadow:0 2px 3px #13031a}.button-primary{background:linear-gradient(115deg,#311244,#762eaa 49%,#301343);box-shadow:inset 0 0 0 3px #251130,0 0 25px #8c31c72b}.button-primary:hover{filter:brightness(1.22);box-shadow:inset 0 0 0 3px #251130,0 0 28px #923ad85c}.button-outline{background:linear-gradient(#1b1721ed,#0d0b12ed);border-color:#81705c}.button-outline:hover{background:#241c2c}.button:active{transform:translateY(1px)}.button svg{width:21px;height:21px;fill:currentColor}.nav-play{font-size:14px;padding:10px 26px;min-height:44px}.menu-toggle{display:none}.hero{isolation:isolate;min-height:760px;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;padding:132px 20px 85px;background:#1a1223 url('assets/hero-art.png') center 47%/cover no-repeat}.hero:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 42%,#ad34ed26,transparent 42%),linear-gradient(0deg,#0c0911 0%,transparent 35%,#0c09116b 100%)}.hero-scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0c091140,transparent 40%,transparent 60%,#0c091140)}.hero-content{display:flex;align-items:center;flex-direction:column}.eyebrow{font-size:12px;font-weight:bold;text-transform:uppercase;letter-spacing:2.5px;line-height:1.6;color:var(--gold);margin:0 0 16px}.release-state{font-size:11px;color:#cfbddb;letter-spacing:3px;display:flex;align-items:center;gap:11px;margin-bottom:14px;text-shadow:0 2px 4px #000}.diamond{width:5px;height:5px;transform:rotate(45deg);background:#b871eb;box-shadow:0 0 13px #bc65ee}.hero-emblem{width:clamp(230px,24vw,316px);height:auto;filter:drop-shadow(0 0 24px #6e23984d);animation:emblem-glow 8s ease-in-out infinite}.hero h1{font:normal clamp(70px,8vw,112px)/1.16 var(--font);letter-spacing:.115em;padding-left:.115em;margin:-6px 0 28px;background:linear-gradient(180deg,#fff8df 8%,#c6a068 44%,#f3d79f 55%,#967146 95%);background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 3px 1px #080507)}.hero-actions{display:flex;gap:18px;justify-content:center}.hero-actions .button{min-width:217px}.explore-cue{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:#c3b4c7;position:absolute;bottom:28px;display:flex;align-items:center;gap:12px}.explore-cue span{width:5px;height:5px;transform:rotate(45deg);border-right:1px solid var(--gold);border-bottom:1px solid var(--gold)}.ornament-divider{display:flex;align-items:center;justify-content:center;height:26px;margin-top:-13px;position:relative;z-index:1;gap:18px;color:#a779b9;font-size:17px}.ornament-divider:before,.ornament-divider:after{content:'';height:1px;width:44%;background:linear-gradient(90deg,transparent,#6b535c)}.ornament-divider:after{transform:rotate(180deg)}.section{max-width:1250px;margin:auto;padding:72px 32px}.section-heading{margin-bottom:38px}.centered{text-align:center}h2{font-family:var(--font);font-size:clamp(28px,3vw,42px);line-height:1.25;font-weight:normal;letter-spacing:.3px;margin:0 0 17px}.section-heading p:last-child{color:var(--muted);font-size:16px;margin:0}.section-heading .eyebrow{margin-bottom:10px}.adventure-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.adventure-card{padding:0;text-align:left;position:relative;min-height:348px;aspect-ratio:1.03;border:1px solid #5b4650;outline-offset:5px;background:#211722;isolation:isolate;overflow:hidden;color:var(--text);box-shadow:0 12px 34px #0006}.scene{background:none;position:absolute;inset:0;z-index:-2;transition:transform .65s ease;filter:saturate(.8)}.scene-bossing{background-size:420% auto;background-position:7.5% 89%}.scene-wilderness{background-size:420% auto;background-position:49.7% 89%}.scene-skilling{background-size:420% auto;background-position:92% 89%}.adventure-card:hover .scene{transform:scale(1.055);filter:saturate(1)}.adventure-card:after{content:'';position:absolute;inset:6px;border:1px solid #e6c99733;pointer-events:none;transition:border-color .3s}.adventure-card:hover:after{border-color:#cb99df85}.card-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0c091100 0%,#0c091118 23%,#0c0911c4 61%,#0c0911fc 100%);z-index:-1}.card-caption{position:absolute;left:26px;right:22px;bottom:25px}.card-caption .eyebrow{font-size:10px;letter-spacing:2px;color:#d3bf95;margin:0 0 7px}.card-caption h3{font:normal 31px/1.2 var(--font);margin:0 0 9px;letter-spacing:1px}.card-caption p{font-size:14px;color:#c7bbc9;line-height:1.5;margin:0 0 19px;max-width:240px}.card-link{font-size:12px;letter-spacing:1.3px;text-transform:uppercase;color:#d6bca2;border-bottom:1px solid #6d4f62;padding-bottom:5px}.updates-section{display:grid;grid-template-columns:1fr 1.35fr;gap:104px;padding-top:68px;padding-bottom:90px}.updates-intro{position:relative}.updates-intro h2{max-width:280px}.updates-intro>p:not(.eyebrow){color:var(--muted);max-width:290px}.journal-mark{display:block;font-family:var(--font);font-size:126px;color:#49314e38;line-height:1.1;margin-top:30px;letter-spacing:10px;user-select:none}.journal-list article{padding:27px 0;border-top:1px solid #42313f}.journal-list article:first-child{padding-top:0;border-top:0}.journal-list article:last-child{padding-bottom:0}.article-meta{display:flex;gap:15px;align-items:center;flex-wrap:wrap;color:#9f94a7;font-size:12px;line-height:1.4;margin:0 0 12px}.tag{font-size:10px;letter-spacing:1.3px;text-transform:uppercase;color:#caa9df;background:#301f393d;border:1px solid #523761;padding:4px 8px}.journal-list h3{font:normal 25px/1.3 var(--font);margin:0 0 9px}.journal-list p{font-size:15px;color:var(--muted);margin:0 0 12px}.text-button{border:0;border-bottom:1px solid #68514d;background:none;padding:0 0 3px;color:var(--gold);font-size:13px;text-align:left}.text-button:hover{color:#fff2da;border-color:#ddbd86}.community-section{border-block:1px solid #4f3752;background:radial-gradient(ellipse at 50% 110%,#60207633,transparent 70%),linear-gradient(90deg,#100c15,#1e1428,#100c15)}.community-inner{max-width:1250px;margin:auto;padding:46px 32px;display:flex;align-items:center;gap:35px}.community-inner>img{filter:drop-shadow(0 0 20px #9221cb26)}.community-inner>div{flex:1}.community-inner h2{font-size:34px;margin-bottom:9px}.community-inner .eyebrow{font-size:10px;letter-spacing:1.8px;margin-bottom:9px}.community-inner p:last-child{color:var(--muted);font-size:15px;margin:0}.community-inner .button{font-size:14px;flex-shrink:0}.footer-inner{max-width:1330px;margin:auto;display:flex;align-items:center;gap:25px;padding:37px 32px;color:#a497ab;font-size:12px}.footer-inner .brand span{font-size:24px}.footer-inner p{margin:0;max-width:145px}.footer-inner>a:not(.brand){margin-left:auto}.footer-inner .text-button{font-size:12px}.copyright{font-size:11px;white-space:nowrap}dialog{color:var(--text);background:linear-gradient(145deg,#201527,#100d15);border:1px solid #7f5c80;max-width:620px;width:calc(100% - 36px);padding:42px;box-shadow:0 20px 100px #000c;max-height:85dvh;overflow:auto}dialog::backdrop{background:#050308c9;backdrop-filter:blur(6px)}dialog h2{font-size:35px;margin-right:10px}dialog p,dialog li{color:#cbbecf;font-size:16px;line-height:1.75}dialog ul{padding-left:21px}.dialog-close{position:absolute;right:13px;top:8px;background:none;border:0;color:#c9b8d0;font-size:30px;width:42px;height:42px}.dialog-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.dialog-actions .button{font-size:13px;padding:12px 22px;min-height:46px}.dialog-close:hover{color:white}.dialog-note{border-top:1px solid #4c3655;padding-top:15px;font-size:13px!important;color:#aa98b3!important}.menu-toggle span{width:22px;height:1px;background:var(--gold);display:block}.button[aria-disabled=true]{opacity:.6;cursor:default}@keyframes emblem-glow{50%{filter:drop-shadow(0 0 30px #a944d657)}}
@media(min-width:1550px){.hero{min-height:850px}.hero-emblem{width:350px}.hero h1{font-size:124px}}
@media(max-width:1050px){.nav-shell{gap:22px;padding-inline:25px}.nav-shell nav{gap:24px}.brand span{font-size:25px}.hero{min-height:715px}.updates-section{gap:60px}.adventure-grid{gap:17px}.card-caption{left:21px;right:17px}.adventure-card{min-height:320px}.footer-inner{flex-wrap:wrap;gap:20px}.community-inner{gap:23px}.community-inner>img{width:85px;height:85px}.community-inner .button{padding-inline:23px}}
@media(max-width:760px){html{scroll-padding-top:20px}.site-header{height:76px}.nav-shell{padding-inline:20px;gap:15px}.brand img{width:40px;height:40px}.brand span{font-size:24px}.nav-play{margin-left:auto;font-size:12px;padding:8px 17px;min-height:39px}.menu-toggle{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;border:1px solid #5d435f;background:#151018;width:40px;height:40px;order:3}.nav-shell nav{display:none;position:absolute;top:76px;left:0;right:0;background:#100b16fa;border-bottom:1px solid #6a496d;padding:20px;gap:0;box-shadow:0 25px 30px #0007}.nav-shell nav.open{display:flex;flex-direction:column;align-items:stretch}.nav-shell nav a{padding:12px 10px;font-size:15px}.nav-shell nav a.active:after{display:none}.hero{min-height:680px;padding-top:110px;background-position:50% 50%}.hero-emblem{width:265px}.hero h1{font-size:81px;margin-bottom:25px}.hero-actions{gap:12px}.hero-actions .button{min-width:0;font-size:13px;padding:14px 23px;min-height:53px}.hero-actions svg{width:18px;height:18px}.release-state{font-size:10px;letter-spacing:2.4px}.section{padding:53px 22px}.section-heading{margin-bottom:28px}.section-heading h2{font-size:32px}.section-heading p:last-child{font-size:15px}.adventure-grid{grid-template-columns:1fr;gap:20px;max-width:530px;margin:auto}.adventure-card{min-height:300px;aspect-ratio:1.55}.scene{background-size:400% auto;background-position-y:89%}.scene-bossing{background-position-x:6.5%}.scene-skilling{background-position-x:94%}.card-caption{bottom:22px;left:26px}.card-caption h3{font-size:33px}.card-caption p{margin-bottom:14px;max-width:100%}.card-shade{background:linear-gradient(180deg,transparent,#0c091135 30%,#0c0911ef 100%)}.updates-section{grid-template-columns:1fr;gap:30px}.updates-intro h2{max-width:none;font-size:34px}.updates-intro>p:not(.eyebrow){max-width:440px;margin-bottom:0}.journal-mark{display:none}.journal-list article{padding-block:24px}.journal-list h3{font-size:24px}.journal-list p{font-size:16px}.text-button{font-size:14px}.community-inner{padding:36px 22px;display:grid;grid-template-columns:70px 1fr;gap:18px 20px}.community-inner>img{width:70px;height:70px}.community-inner h2{font-size:29px}.community-inner .button{grid-column:1/-1;justify-self:stretch;margin-top:6px}.community-inner p:last-child{font-size:14px}.footer-inner{display:grid;grid-template-columns:1fr 1fr;padding:30px 22px;gap:15px;font-size:13px}.footer-inner>a:not(.brand){margin-left:0}.footer-inner .brand{grid-column:1/-1}.footer-inner p{max-width:100%;grid-column:1/-1}.footer-inner .text-button{font-size:13px;justify-self:start}.copyright{grid-column:1/-1;margin-top:7px}dialog{padding:35px 26px}dialog h2{font-size:29px}dialog .eyebrow{font-size:10px;padding-right:20px}}
@media(max-width:380px){.brand span{font-size:21px;letter-spacing:2px}.nav-shell{gap:10px;padding-inline:12px}.hero h1{font-size:67px}.hero-emblem{width:237px}.hero-actions{gap:10px}.hero-actions .button{padding-inline:17px;font-size:12px}.hero-actions svg{display:none}.hero{min-height:640px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.scene svg{width:100%;height:100%;display:block;overflow:hidden}

/* The approved illustrated reference is the visual source of truth. */
:root{--ink:#090a0d;--surface:#141219;--purple:#ad36ed;--gold:#dbbf94;--muted:#bdb4bd;--border:#796967}
body{position:relative;isolation:isolate;background:#090a0d}
.site-header{position:relative;height:78px;background:#0a0a0b42;border-bottom:2px solid #847264;box-shadow:0 3px 0 #050509,0 6px 15px #000b}
.nav-shell{max-width:1270px;padding:0 30px;gap:30px}.brand-art{flex:0 0 216px;width:216px;height:75px}.brand-art svg{width:100%;height:100%;display:block;overflow:hidden}.nav-shell nav{gap:47px}.nav-shell nav a,.nav-link{font:normal 15px/1.3 var(--font);letter-spacing:.45px;color:#efeae7;text-transform:uppercase;text-shadow:0 2px 4px #000;padding:27px 0;white-space:nowrap}.nav-link{background:none;border:0}.nav-shell nav a:hover,.nav-link:hover{color:#d5a4ff}.nav-shell nav a.active:after{display:none}.nav-shell nav>a+*{position:relative}.nav-shell nav>a+*:before{content:'♦';font-size:10px;position:absolute;left:-26px;top:30px;color:#81717f}
.button{border:2px solid #947868;border-radius:0;background-clip:padding-box;box-shadow:0 0 0 1px #151014,inset 0 0 0 3px #171019,inset 0 0 0 4px #987f80,0 3px 3px #000a;padding:14px 34px;min-height:59px;font-size:19px;font-weight:normal;letter-spacing:1px;overflow:visible;text-shadow:0 2px 4px #080009}
.button:before,.button:after{content:'';position:absolute;left:-6px;right:-6px;height:8px;pointer-events:none;background:linear-gradient(135deg,transparent 3%,#d2b38c 3.5%,#30272d 5%,transparent 5.5%,transparent 46%,#7a458a 47%,#e0b7ec 50%,#8e4a9d 53%,transparent 54%,transparent 94.5%,#30272d 95%,#d2b38c 96.5%,transparent 97%);filter:drop-shadow(0 2px 1px #050407)}.button:before{top:-6px}.button:after{bottom:-6px;transform:rotate(180deg)}
.button-primary{border-color:#ac78b2;background:radial-gradient(ellipse at 50% 10%,#9429ba88,transparent 55%),linear-gradient(125deg,#190521,#551078 36%,#741293 62%,#1f0630);box-shadow:0 0 0 1px #161016,inset 0 0 0 3px #250633,inset 0 0 0 4px #9d6da7,0 0 24px #9024c460}.button-primary:hover{filter:brightness(1.25);box-shadow:0 0 0 1px #161016,inset 0 0 0 3px #250633,inset 0 0 0 4px #b684c2,0 0 30px #b627df77}.button-outline{background:linear-gradient(#18171beb,#090a0fef);border-color:#b7a180}.button-outline:hover{background:#242029}.nav-play{font-size:17px;min-height:45px;padding:7px 34px;min-width:174px;margin-left:10px}
.hero{min-height:576px;height:auto;padding:40px 20px 28px;background-image:url('assets/hero-rich.png');background-position:center center;background-size:cover;overflow:visible}.hero:before{background:linear-gradient(180deg,#07040d00 78%,#08070c66),radial-gradient(ellipse at 50% 40%,#933abd08,transparent 62%)}.hero-scrim{background:none}.hero-content{position:relative;z-index:1}.hero-emblem{width:304px;height:auto;filter:drop-shadow(0 0 16px #7210a62e);animation:none}.hero h1{margin:-30px 0 10px;width:min(470px,66vw);line-height:1;padding:0;background:none;color:inherit;filter:drop-shadow(0 4px 3px #000b)}.hero h1 img{width:100%;height:auto;object-fit:contain}.hero-actions{gap:24px;margin-top:2px}.hero-actions .button{min-width:222px}.hero-actions .button-outline{font-size:16px;min-width:205px}
.ornament-divider{height:57px;margin-top:-27px;margin-bottom:-8px;display:block;position:relative;z-index:2}.ornament-divider:before,.ornament-divider:after{display:none}.ornament-divider svg{width:100%;height:100%;overflow:hidden;display:block}
.world-section{max-width:1450px;padding:25px 37px 35px}.section-heading{margin-bottom:25px}.section-heading h2{font-size:20px;letter-spacing:8px;text-transform:uppercase;font-weight:normal;margin:0;line-height:1.5;display:flex;gap:22px;align-items:center;justify-content:center;text-shadow:0 3px 3px #000}.section-heading h2:before,.section-heading h2:after{content:'';height:1px;width:170px;background:linear-gradient(90deg,transparent,#a499a0)}.section-heading h2:after{transform:rotate(180deg)}.adventure-grid{gap:24px}.adventure-card{background:transparent;box-shadow:none;border:0;min-height:0;aspect-ratio:auto;overflow:visible;isolation:auto;text-align:center}.adventure-card:after{display:none}.scene{position:relative;inset:auto;z-index:auto;aspect-ratio:442/225;filter:none;transition:filter .3s}.scene svg{width:100%;height:100%;overflow:hidden}.adventure-card:hover .scene{transform:none;filter:brightness(1.14) drop-shadow(0 0 8px #a251c035)}.card-shade{display:none}.card-caption{position:static;margin-top:6px;left:auto;right:auto;bottom:auto;display:flex;align-items:center;flex-direction:column}.card-caption h3{font-family:var(--font);font-size:24px;letter-spacing:7px;text-transform:uppercase;margin:0;font-weight:normal;line-height:1.8;color:#f4eeed;text-shadow:0 2px 4px #000}.card-ornament{color:#9964b0;font-size:14px;line-height:1;display:flex;align-items:center;gap:10px;margin-top:3px}.card-ornament:before,.card-ornament:after{content:'';width:95px;height:1px;background:linear-gradient(90deg,transparent,#594467)}.card-ornament:after{transform:rotate(180deg)}
.updates-section{max-width:1230px;gap:85px;padding-top:70px;padding-bottom:70px;position:relative}.updates-section:before{content:'';position:absolute;left:32px;right:32px;top:30px;height:1px;background:linear-gradient(90deg,transparent,#705966,transparent)}.updates-intro{background:linear-gradient(90deg,#0b0a0e91,transparent);padding:15px 16px 15px 0}.journal-list{background:#08080bb3;border:1px solid #493d49;padding:26px 28px;box-shadow:inset 0 0 0 4px #16131a77}.journal-list h3{font-size:24px}.community-section{background:linear-gradient(90deg,#08070aa8,#25152bcc,#08070aa8);border-color:#7f6675}.community-inner .button{font-size:17px}.footer-inner{background:#08080a75;max-width:none;padding-left:max(32px,calc((100vw - 1250px)/2));padding-right:max(32px,calc((100vw - 1250px)/2))}.footer-inner .brand span{color:#d5b588}
dialog{border:1px solid #a38b96;box-shadow:0 0 0 3px #150f1a,0 0 0 4px #4d355c,0 20px 100px #000c;background:linear-gradient(130deg,#251c2a,#0c0b0f)}dialog .button{font-size:14px}.dialog-actions{gap:20px}
@media(min-width:1550px){.hero{min-height:625px;padding-top:50px;padding-bottom:55px}.hero-emblem{width:330px}.hero h1{width:500px;font-size:inherit}.world-section{padding-top:28px}}
@media(max-width:1100px){.nav-shell{padding-inline:25px;gap:20px}.brand-art{flex-basis:185px;width:185px}.nav-shell nav{gap:30px}.nav-shell nav>a+*:before{left:-17px}.nav-play{padding-inline:24px;min-width:150px}.hero{min-height:555px}.world-section{padding-inline:28px}.adventure-grid{gap:17px}.card-caption h3{font-size:20px;letter-spacing:5px}.section-heading h2{font-size:18px;letter-spacing:6px}.updates-section{gap:45px}}
@media(max-width:900px){.brand-art{flex-basis:155px;width:155px}.nav-shell nav{gap:22px}.nav-shell nav a,.nav-link{font-size:13px}.nav-shell nav>a+*:before{display:none}.nav-shell{gap:16px}.nav-play{font-size:14px;min-width:128px;padding-inline:17px}.hero h1{width:440px}.section-heading h2:before,.section-heading h2:after{width:85px}}
@media(max-width:760px){.site-header{height:72px}.nav-shell{padding-inline:16px;gap:12px}.brand-art{height:67px;width:173px;flex-basis:173px}.nav-shell nav{top:72px;padding:18px 22px;background:#111015fc}.nav-shell nav a,.nav-link{font-size:15px;padding:13px 9px;text-align:left}.nav-play{margin-left:auto;min-width:100px;font-size:13px;min-height:38px;padding-inline:12px}.menu-toggle{flex-shrink:0}.hero{min-height:552px;padding:39px 16px 43px;background-position:center center;overflow:hidden}.hero-emblem{width:286px}.hero h1{width:min(420px,88vw);margin:-24px 0 16px}.hero-actions{gap:17px}.hero-actions .button{font-size:15px;padding:13px 25px;min-height:52px;min-width:156px}.hero-actions .button-outline{font-size:14px;min-width:166px}.ornament-divider{height:46px;margin-top:-23px;margin-bottom:-6px}.world-section{padding:23px 20px 15px}.section-heading{margin-bottom:22px}.section-heading h2{font-size:16px;letter-spacing:4px;gap:14px;white-space:nowrap}.section-heading h2:before,.section-heading h2:after{width:28px}.adventure-grid{grid-template-columns:1fr;max-width:500px;gap:24px}.adventure-card{min-height:0;aspect-ratio:auto}.card-caption h3{font-size:24px;letter-spacing:7px}.scene{aspect-ratio:442/225}.updates-section{padding:57px 22px;gap:26px}.updates-section:before{top:24px}.updates-intro{padding:0;background:transparent}.updates-intro h2{font-size:32px}.journal-list{padding:23px 22px}.community-inner .button{font-size:17px}.footer-inner{padding:30px 22px}.dialog-actions .button{font-size:12px}}
@media(max-width:390px){.nav-shell{padding-inline:12px;gap:10px}.brand-art{flex-basis:136px;width:136px}.nav-play{min-width:91px;font-size:12px;padding-inline:9px}.menu-toggle{width:34px;height:36px}.hero{min-height:502px;padding-top:33px}.hero-emblem{width:255px}.hero-actions{gap:14px}.hero-actions .button{min-width:137px;padding-inline:16px;font-size:14px}.hero-actions .button-outline{min-width:151px;font-size:13px}.section-heading h2{font-size:14px;letter-spacing:3px}.section-heading h2:before,.section-heading h2:after{width:19px}}
@media(prefers-reduced-motion:reduce){.adventure-card:hover .scene{filter:brightness(1.08)}}

/* Continuous stone: one full-viewport image, with no repeated crop or tile seams. */
body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(#0a090b80,#08070bc7),url('assets/obsidian-continuous.png') center/cover no-repeat}
.site-header{background:#08070b69}.updates-intro{background:none}.journal-list{background:#09070a65;border-color:#53434e;box-shadow:none}
/* Three equal rails keep the link group at the viewport centre independently of Play Now. */
.nav-shell{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:20px;max-width:1360px;padding-inline:32px}
.nav-shell nav{grid-column:2;grid-row:1;margin:0;justify-self:center;gap:48px}
.nav-play{grid-column:3;grid-row:1;justify-self:end;margin:0}
.nav-shell nav a,.nav-link{font-size:16px}.nav-shell nav>a+*:before{left:-26px}
/* Bloom is derived from bright coloured pixels in the same artwork, so it follows
   the actual fires and violet cracks when the hero's cover crop changes. */
.light-filter-defs{position:absolute;overflow:hidden;pointer-events:none}.hero{overflow:hidden}
.hero-light{position:absolute;inset:0;z-index:0;pointer-events:none;mix-blend-mode:screen;overflow:hidden}
.hero-glow{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center center;mix-blend-mode:screen;pointer-events:none}


.hero-emblem{filter:drop-shadow(0 0 10px #b33cf1b0) drop-shadow(0 0 28px #9824de68);animation:crest-bloom 6.8s ease-in-out infinite}
@keyframes violet-breath{0%,100%{opacity:.53}50%{opacity:.95}}
@keyframes ember-breath{0%,100%{opacity:.62}22%{opacity:.86}40%{opacity:.68}64%{opacity:.94}81%{opacity:.74}}
@keyframes crest-bloom{0%,100%{filter:drop-shadow(0 0 9px #b33cf195) drop-shadow(0 0 25px #9824de50)}50%{filter:drop-shadow(0 0 13px #c159f8c0) drop-shadow(0 0 34px #9824de88)}}
/* Real blank ornate artwork frames, with accessible, selectable HTML labels. */
.button{border:0;box-shadow:none;border-radius:0;background-color:transparent;background-repeat:no-repeat;background-position:center;background-size:100% 100%;min-height:78px;padding:21px 43px;font-size:20px;letter-spacing:1.2px;filter:drop-shadow(0 3px 3px #000b);transition:filter .2s,transform .2s}
.button:before,.button:after{display:none}.button-primary{background-image:url('assets/button-play-ornate.png');box-shadow:none;filter:drop-shadow(0 0 9px #9c32d455) drop-shadow(0 3px 3px #000b)}
.button-outline{background-image:url('assets/button-discord-ornate.png');border:0}
.button-primary:hover{background-color:transparent;box-shadow:none;filter:brightness(1.16) drop-shadow(0 0 16px #bb50f282)}
.button-outline:hover{background-color:transparent;background-image:url('assets/button-discord-ornate.png');box-shadow:none;filter:brightness(1.16) drop-shadow(0 0 9px #ae87c042)}
/* Compensate for transparent canvas margins while keeping the metal frame visible. */
.button-primary,.button-primary:hover{background-size:100% 135%;background-position:50% 40%;background-repeat:no-repeat}
.button-outline,.button-outline:hover{background-size:100% 160%;background-position:50% 44%;background-repeat:no-repeat}
.hero-actions{gap:14px}.hero-actions .button{min-width:258px;min-height:79px}.hero-actions .button-outline{min-width:246px;font-size:18px}
.nav-play{min-width:176px;min-height:55px;padding:14px 28px;font-size:16px}.community-inner .button{min-width:235px;font-size:17px}
.dialog-actions .button{min-width:160px;min-height:57px;font-size:13px;padding:16px 28px}.dialog-actions{gap:12px}
@media(max-width:1100px){.nav-shell{gap:15px;padding-inline:25px}.nav-shell nav{gap:35px}.nav-shell nav a,.nav-link{font-size:15px}.nav-shell nav>a+*:before{left:-20px}.nav-play{min-width:151px;min-height:50px;font-size:14px}}
@media(max-width:900px){.nav-shell nav{gap:23px}.nav-shell nav a,.nav-link{font-size:14px}.nav-play{min-width:126px;min-height:47px;font-size:13px;padding-inline:19px}}
@media(max-width:760px){.nav-shell{padding-inline:20px;grid-template-columns:1fr auto 1fr}.menu-toggle{grid-column:1;grid-row:1;justify-self:start;order:0}.nav-play{grid-column:3;justify-self:end;min-width:135px;min-height:48px;font-size:14px}.nav-shell nav{width:100%;margin:0;justify-self:stretch;gap:0;align-items:center;text-align:center}.nav-shell nav.open{align-items:center}.nav-shell nav a,.nav-shell .nav-link{font-size:16px;padding:13px 18px;text-align:center}.hero-actions{gap:5px}.hero-actions .button{min-width:0;width:181px;min-height:61px;padding:16px 27px;font-size:16px}.hero-actions .button-outline{min-width:0;width:181px;font-size:14px}.community-inner .button{justify-self:center;min-width:260px}.dialog-actions .button{font-size:12px;min-width:154px}.glow-purple{opacity:.76}.glow-fire{opacity:.72}}
@media(max-width:390px){.nav-shell{padding-inline:15px}.hero-actions .button{width:158px;min-height:57px;padding-inline:22px;font-size:14px}.hero-actions .button-outline{width:158px;font-size:12px}.hero-actions{gap:0}}
@media(prefers-reduced-motion:reduce){.hero-glow,.hero-emblem{animation:none!important}.glow-purple{opacity:.73}.glow-fire{opacity:.75}}

/* V4: the hero image fades into the page; no cropped mockup strip can expose a box edge. */
.hero{background:none}
.hero:before{display:none}
.hero-backdrop{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;z-index:-2;pointer-events:none}
.hero-backdrop,.hero-light{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 76%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 76%,transparent 100%)}
.world-section{padding-top:25px}
/* A soft alpha-following halo: no rectangular box-shadow, brightness flash or jump. */
.button{filter:drop-shadow(0 3px 3px #0009);transition:filter .22s ease,text-shadow .22s ease}
.button:is(:hover,:focus-visible){filter:drop-shadow(0 0 3px #c282f6a6) drop-shadow(0 0 11px #a449e68a);box-shadow:none;text-shadow:0 1px 3px #160723,0 0 8px #d9aeef55}
.button:focus-visible{outline:2px solid #d9b2f9;outline-offset:5px}
.community-section{background:none;border:0}
.community-inner{display:flex;flex-direction:column;gap:9px;padding:30px 24px 35px}
.community-inner>div{flex:0 1 auto}
.community-inner .section-heading{margin:0}
.community-inner .section-heading h2{font:normal 20px/1.5 var(--font);letter-spacing:7px;margin:0;color:#f0e9dd}
.community-inner .button{min-width:250px}
.footer-inner{background:linear-gradient(180deg,transparent,#08070aaa);border:0;gap:24px}
.footer-brand{display:block;flex:0 0 145px;width:145px}
.footer-brand img{width:100%;height:auto}
.footer-inner>a:not(.footer-brand){margin-left:auto}
@media(max-width:760px){.community-inner .section-heading h2{font-size:17px;letter-spacing:5px}.footer-inner{justify-content:center;text-align:center}.footer-inner>a:not(.footer-brand){margin-left:0}.footer-brand{flex-basis:140px}.hero-backdrop,.hero-light{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 80%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 80%,transparent 100%)}}
@media(prefers-reduced-motion:reduce){.button{transition:none}}
.footer-inner>.footer-brand{margin-left:0}

/* Approved scenery, rendered smoothly with automatic dissolves. */
.living-hero{min-height:630px;justify-content:flex-start;padding:32px 24px 92px}
.living-scenery{position:absolute;inset:0;z-index:-1;pointer-events:none;-webkit-mask-image:linear-gradient(#000 0%,#000 79%,transparent 100%);mask-image:linear-gradient(#000 0%,#000 79%,transparent 100%)}
.living-scene{position:absolute;inset:0;isolation:isolate;pointer-events:none}
.living-scene img,.living-scene video{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.living-scene video[hidden]{display:none}
.living-hero .hero-content{width:min(520px,44vw);margin-left:5vw}
.living-hero .hero-emblem{width:270px;animation:none;filter:drop-shadow(0 0 16px #9d36d17a)}
.living-hero h1{width:min(450px,100%);margin-top:-27px}
.living-hero .hero-actions{gap:4px}.living-hero .hero-actions .button{min-width:225px;padding-inline:30px}.living-hero .hero-actions .button-outline{min-width:225px}
.scenery-controls{position:absolute;bottom:30px;right:max(28px,4vw);display:flex;gap:16px;align-items:center;z-index:2;color:#eee2ef;font-size:14px}
.scenery-controls button{font:normal 14px/1.5 var(--font);letter-spacing:.3px;background:#100b1570;border:1px solid #ae8fbb40;padding:8px 12px;color:#d6c6de;box-shadow:none}
.scenery-controls button:hover,.scenery-controls button[aria-pressed=true]{border-color:#c5a0d2;color:#fff0d6;background:#281632dc}
.scenery-controls [data-motion-toggle]{min-width:114px}
@media(max-width:1050px){.living-hero .hero-content{margin-left:0;width:50%}.living-hero .hero-actions .button{min-width:0;width:195px;font-size:16px;padding-inline:25px}.living-hero .hero-actions .button-outline{min-width:0;font-size:15px}}
@media(max-width:760px){.living-hero{min-height:590px;padding:30px 14px 100px;justify-content:center}.living-hero .hero-content{width:100%;margin:0}.living-hero .hero-emblem{width:255px}.living-hero h1{width:min(390px,90vw)}.living-hero .hero-actions .button{width:175px;font-size:15px}.living-hero .hero-actions .button-outline{font-size:14px}.living-scene[data-scene=lumbridge] img,.living-scene[data-scene=lumbridge] video{object-position:70% center}.scenery-controls{left:12px;right:12px;bottom:30px;justify-content:center;gap:9px}.scenery-controls button{font-size:13px;padding:7px 10px}.scenery-controls [data-motion-toggle]{min-width:105px}}
@media(max-width:390px){.living-hero .hero-actions .button{width:153px;font-size:14px;padding-inline:21px}.living-hero .hero-actions .button-outline{font-size:12px}.scenery-controls{gap:6px}.scenery-controls button{font-size:12px;padding:7px 8px}.scenery-controls [data-motion-toggle]{min-width:95px}}
.living-hero .hero-actions{width:max-content;max-width:100%}
