:root{--ink:#050607;--ink2:#0a0c0d;--panel:#101313;--panel2:#171a19;--gold:#d7b35d;--gold2:#f4d88d;--green:#76d65c;--green2:#b6ff87;--muted:#9b9b91;--line:rgba(215,179,93,.38);--shadow:0 22px 70px rgba(0,0,0,.55)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 50% 0,#172117 0,#090b0b 28rem,var(--ink) 65rem);color:#eee8d9;font-family:Georgia,'Times New Roman',serif;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.12;background-image:linear-gradient(transparent 96%,rgba(255,255,255,.04) 97%),linear-gradient(90deg,transparent 96%,rgba(255,255,255,.03) 97%);background-size:5px 5px}
a{color:inherit;text-decoration:none}button{font:inherit}.wrap{width:min(1240px,calc(100% - 34px));margin:auto}
/* Header inspired by the supplied fantasy portal reference */
.top{position:sticky;top:0;z-index:80;background:rgba(4,5,5,.94);border-bottom:1px solid var(--line);box-shadow:0 8px 30px rgba(0,0,0,.45);backdrop-filter:blur(12px)}.topin{height:82px;width:min(1500px,calc(100% - 28px));margin:auto;display:flex;align-items:center;gap:14px}.menu-btn{width:58px;height:58px;border:1px solid var(--line);background:linear-gradient(#151716,#090a09);display:grid;place-items:center;cursor:pointer;box-shadow:inset 0 0 20px rgba(215,179,93,.04),0 0 20px rgba(0,0,0,.35)}.hamb{width:28px;display:grid;gap:6px}.hamb i{height:2px;background:var(--gold2);display:block;transition:.3s}.menu-btn.open .hamb i:nth-child(1){transform:translateY(8px) rotate(45deg)}.menu-btn.open .hamb i:nth-child(2){opacity:0}.menu-btn.open .hamb i:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.brand{display:flex;align-items:center;gap:10px;min-width:230px;font-size:17px;letter-spacing:.17em;text-transform:uppercase;font-weight:bold}.brand img{width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 0 12px rgba(93,255,70,.22))}.brand span{color:var(--gold2)}.serverbar{margin-left:auto;display:flex;align-items:center;gap:10px}.server-ip{border:1px solid rgba(215,179,93,.3);background:#111313;padding:12px 16px;font-size:13px;letter-spacing:.08em}.copy-ip{border:1px solid var(--line);background:#191b19;color:var(--gold2);padding:12px 14px;cursor:pointer;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.realm-nav{display:flex;gap:4px}.realm-nav a{padding:13px 12px;border:1px solid transparent;color:#b9b6ab;font-size:11px;text-transform:uppercase;letter-spacing:.08em;transition:.25s}.realm-nav a:hover,.realm-nav a.active{color:var(--gold2);border-color:rgba(215,179,93,.35);background:rgba(215,179,93,.05)}
/* Side realm menu */
.drawer{position:fixed;inset:82px auto 0 0;width:min(390px,92vw);background:linear-gradient(180deg,#11120f,#080909);border-right:1px solid var(--line);z-index:75;transform:translateX(-105%);transition:.42s cubic-bezier(.7,0,.2,1);box-shadow:30px 0 80px rgba(0,0,0,.55);overflow:auto}.drawer.open{transform:none}.drawerin{padding:38px 28px 50px}.realm-title{font-size:12px;letter-spacing:.22em;color:var(--gold2);text-transform:uppercase}.drawer h2{font-size:36px;margin:10px 0}.drawer p{color:#8f9088;line-height:1.7;font-size:13px}.navgrid{display:grid;gap:9px;margin-top:25px}.navgrid a{display:flex;align-items:center;justify-content:space-between;padding:16px 15px;border:1px solid rgba(215,179,93,.17);background:linear-gradient(90deg,#141614,#0b0c0c);font-size:14px;transition:.25s}.navgrid a:after{content:'◆';color:var(--green);font-size:8px}.navgrid a:hover{border-color:var(--gold);transform:translateX(4px);box-shadow:0 0 25px rgba(112,216,85,.08)}
/* Home */
.home-hero{min-height:calc(100vh - 82px);position:relative;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid rgba(215,179,93,.2);background:#070908}.home-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,7,1) 0%,rgba(5,7,7,.94) 28%,rgba(5,7,7,.6) 53%,rgba(5,7,7,.18) 100%),url('img/castle-bg.jpg') center right/cover no-repeat;filter:saturate(.8)}.home-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 62% 45%,rgba(89,198,66,.13),transparent 22rem),linear-gradient(180deg,transparent 55%,#060707 100%);pointer-events:none}.hero-inner{position:relative;z-index:2;width:min(1500px,calc(100% - 60px));margin:auto;padding:85px 0 100px}.hero-copy{max-width:760px}.hero-logo{width:160px;height:160px;object-fit:contain;filter:drop-shadow(0 0 24px rgba(100,255,67,.28));margin-bottom:15px}.kicker{font-size:12px;letter-spacing:.35em;text-transform:uppercase;color:var(--gold2);margin-bottom:18px}.hero-title{font-size:clamp(56px,8vw,118px);line-height:.82;margin:0;text-transform:uppercase;letter-spacing:.02em;text-shadow:0 8px 35px #000}.hero-title .green{color:var(--green2);text-shadow:0 0 24px rgba(113,255,79,.2)}.hero-copy p{max-width:700px;color:#d0cbbd;font-size:18px;line-height:1.7;margin:26px 0}.actions{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border:1px solid var(--line);background:#101312;color:#f0e8d5;text-transform:uppercase;letter-spacing:.11em;font-size:11px;transition:.25s;cursor:pointer}.btn:hover{transform:translateY(-2px);border-color:var(--gold2);box-shadow:0 12px 32px rgba(215,179,93,.12)}.btn.gold{background:linear-gradient(180deg,#d7b35d,#98722e);color:#171106;border-color:#f1d487}.btn.green{background:linear-gradient(180deg,#4e9d3b,#254f20);border-color:#72cf5c}.crossplay{margin-top:20px;color:#999d93;font-size:11px;letter-spacing:.14em;text-transform:uppercase}.crossplay b{color:#ddd5c2}.particles{position:absolute;inset:0;overflow:hidden;z-index:1;pointer-events:none}.particle{position:absolute;width:3px;height:3px;border-radius:50%;background:var(--green2);box-shadow:0 0 10px var(--green);opacity:.65;animation:float 6s linear infinite}.particle:nth-child(1){left:58%;top:32%;animation-delay:-1s}.particle:nth-child(2){left:73%;top:58%;animation-delay:-3s}.particle:nth-child(3){left:83%;top:27%;animation-delay:-4s}.particle:nth-child(4){left:68%;top:75%;animation-delay:-2s}.particle:nth-child(5){left:47%;top:20%;animation-delay:-5s}@keyframes float{0%{transform:translateY(30px);opacity:0}30%{opacity:.7}100%{transform:translateY(-120px);opacity:0}}
/* desktop portal rail */
.portal-rail{position:absolute;z-index:4;left:26px;top:24px;bottom:24px;width:270px;padding:18px 14px;border:1px solid rgba(215,179,93,.42);background:linear-gradient(180deg,rgba(8,9,8,.94),rgba(8,9,8,.68));box-shadow:0 20px 50px rgba(0,0,0,.45)}.rail-title{font-size:12px;letter-spacing:.22em;color:var(--gold2);text-align:center;padding:8px 0 18px;border-bottom:1px solid rgba(215,179,93,.2)}.rail-link{display:flex;gap:13px;align-items:center;padding:13px 10px;border:1px solid transparent;margin-top:8px;color:#ddd4bf;transition:.25s}.rail-link .rail-icon{width:36px;height:36px;border:1px solid rgba(215,179,93,.35);display:grid;place-items:center;color:var(--gold2);font-size:16px;background:#101311}.rail-link small{display:block;color:#7d7e78;font-size:9px;letter-spacing:.11em;text-transform:uppercase;margin-top:3px}.rail-link:hover{border-color:rgba(215,179,93,.38);background:rgba(215,179,93,.04);transform:translateX(3px)}
.portal-rail .rail-crest{width:145px;height:145px;object-fit:contain;display:block;margin:20px auto 2px;filter:drop-shadow(0 0 18px rgba(91,255,67,.2))}.rail-note{text-align:center;color:#777;font-size:10px;line-height:1.5;padding:5px 12px 0}
/* Content cards */
.section{padding:80px 0}.section-head{text-align:center;max-width:780px;margin:0 auto 36px}.eyebrow{font-size:10px;letter-spacing:.27em;text-transform:uppercase;color:var(--gold2)}.section-head h2{font-size:clamp(38px,5vw,65px);margin:10px 0}.section-head p{color:#97978e;line-height:1.8}.portal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.portal-card{position:relative;min-height:230px;padding:26px;border:1px solid rgba(215,179,93,.18);background:linear-gradient(145deg,#171a18,#0b0d0d);overflow:hidden;transition:.3s}.portal-card:before{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-85px;top:-85px;background:var(--glow,#65c94c);opacity:.12;filter:blur(4px)}.portal-card:hover{transform:translateY(-6px);border-color:rgba(215,179,93,.55);box-shadow:0 22px 45px rgba(0,0,0,.4),0 0 30px rgba(99,210,71,.06)}.portal-card .icon{font-size:28px;color:var(--green2);margin-bottom:28px}.portal-card h3{font-size:21px;margin:0 0 9px}.portal-card p{color:#8f9189;font-size:13px;line-height:1.7}.portal-card .go{position:absolute;bottom:20px;right:22px;color:var(--gold2);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.feature-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:22px}.feature-pill{padding:18px;border:1px solid rgba(215,179,93,.14);background:#0c0f0e}.feature-pill b{display:block;color:var(--gold2);font-size:12px;margin-bottom:6px}.feature-pill span{color:#7e817a;font-size:11px}
.pagehead{padding:85px 0 42px;text-align:center}.pagehead h1{font-size:clamp(45px,7vw,80px);margin:12px 0}.pagehead p{max-width:780px;margin:0 auto;color:#94958d;line-height:1.8}.divider{height:1px;width:170px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:24px auto}.grid12,.magicgrid,.academygrid,.shopgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding-bottom:85px}.card{border:1px solid rgba(215,179,93,.17);background:linear-gradient(145deg,#151816,#0a0c0b);padding:27px;transition:.3s;position:relative;overflow:hidden}.card:hover{transform:translateY(-6px);border-color:var(--accent,var(--gold));box-shadow:var(--shadow)}.sigil{width:55px;height:64px;display:grid;place-items:center;color:var(--accent,var(--gold2));border:1px solid var(--accent,var(--gold));margin-bottom:18px}.card h2,.card h3{font-size:23px;margin:0 0 8px}.motto{color:var(--accent,var(--gold2));font-size:10px;letter-spacing:.15em;text-transform:uppercase}.card p{color:#90928b;line-height:1.7;font-size:13px}.meta{margin-top:17px;padding-top:13px;border-top:1px solid rgba(255,255,255,.07);font-size:11px;color:#999}.meta b{color:#ddd5c4}.kingdom-hero{min-height:520px;display:flex;align-items:end;position:relative;background:radial-gradient(circle at 75% 25%,var(--accent),transparent 35%),#0b0d0c;overflow:hidden}.kingdom-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,#060707 95%)}.kingdom-title{position:relative;z-index:2;padding:80px 0 55px}.kingdom-title h1{font-size:clamp(48px,8vw,90px);margin:10px 0}.kingdom-title .motto{font-size:17px}.ruler{color:#aaa;margin-top:13px}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:70px 0}.panel{padding:30px;border:1px solid rgba(215,179,93,.17);background:#0d100f}.panel h2{font-size:28px;margin-top:0}.panel p{color:#92948d;line-height:1.8}.facts{display:grid;gap:10px}.fact{padding:15px;border-left:2px solid var(--accent,var(--gold));background:rgba(255,255,255,.025)}.fact small{display:block;color:#777;text-transform:uppercase;letter-spacing:.12em;font-size:9px;margin-bottom:6px}.fact strong{font-size:13px}
.map-frame{width:100%;height:78vh;min-height:560px;border:1px solid var(--line);border-radius:14px;background:#050606;box-shadow:0 0 40px rgba(91,255,67,.05),var(--shadow)}.map-wrap{padding-bottom:80px}.map-actions{text-align:center;margin-top:18px}.joinbox{padding:45px;border:1px solid var(--line);background:radial-gradient(circle at 80% 35%,rgba(95,220,76,.09),transparent 30%),#0e1110;margin-bottom:80px}.ip{display:inline-block;padding:15px 19px;border:1px dashed rgba(215,179,93,.5);color:var(--gold2);letter-spacing:.12em;margin:18px 0}.rules{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding-bottom:85px}.rule{padding:24px;border:1px solid rgba(215,179,93,.15);background:#0d100f}.rule h3{font-size:20px;margin-top:0}.rule p{color:#92948d;line-height:1.75;font-size:13px}.modal{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.78);display:none;place-items:center;padding:18px}.modal.show{display:grid}.modalbox{width:min(600px,100%);background:#101312;border:1px solid var(--gold);padding:32px;box-shadow:var(--shadow)}.modalbox h2{font-size:34px;margin:0 0 5px}.modalbox p{color:#92948d;line-height:1.8}.close{float:right;border:0;background:none;color:#aaa;font-size:26px;cursor:pointer}.reveal{opacity:0;transform:translateY(18px);transition:.6s}.reveal.visible{opacity:1;transform:none}
footer{border-top:1px solid rgba(215,179,93,.16);padding:42px 0;background:#050606}.foot{display:flex;justify-content:space-between;gap:30px}.foot strong{font-size:18px;letter-spacing:.08em}.foot p{max-width:570px;color:#70736c;font-size:12px;line-height:1.7}.footnav{display:flex;gap:14px;flex-wrap:wrap}.footnav a{color:#888;font-size:10px;letter-spacing:.09em;text-transform:uppercase}.copy{text-align:center;margin-top:28px;color:#4f514d;font-size:9px;letter-spacing:.1em}
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);padding:12px 18px;background:#111413;border:1px solid var(--gold);color:var(--gold2);z-index:120;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1150px){.portal-rail{display:none}.portal-grid,.feature-strip{grid-template-columns:repeat(2,1fr)}.hero-inner{width:min(1100px,calc(100% - 34px))}.realm-nav a:nth-child(n+4){display:none}.brand{min-width:auto}.serverbar{display:none}}
@media(max-width:760px){.topin{height:70px}.top{position:sticky}.brand{font-size:12px;letter-spacing:.11em}.brand img{width:46px;height:46px}.realm-nav{display:none}.menu-btn{width:50px;height:50px}.drawer{inset:70px 0 0;width:100%}.hero-inner{padding:70px 0 80px}.home-hero:before{background:linear-gradient(90deg,rgba(5,7,7,.96),rgba(5,7,7,.76)),url('img/castle-bg.jpg') center/cover}.hero-logo{width:125px;height:125px}.hero-copy p{font-size:15px}.portal-grid,.feature-strip,.grid12,.magicgrid,.academygrid,.shopgrid,.rules,.two{grid-template-columns:1fr}.section{padding:60px 0}.pagehead{padding:60px 0 34px}.map-frame{height:70vh;min-height:450px}.joinbox{padding:28px}.foot{flex-direction:column}.server-ip{font-size:11px}.copy-ip{font-size:10px}}
