body.worlds-home { background: #07101f; }
body.worlds-home :is(.site-header,.site-footer) { display: none; }
body.worlds-home .site-shell { min-height: 100dvh; }
.worlds-gateway { --world-gold: #edcc7c; color: #f8f5e9; position: relative; background: #091426; min-height: 100dvh; overflow: clip; font-family: 'DM Sans',sans-serif; }
.worlds-gateway * { box-sizing: border-box; }
.worlds-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; height: 74px; padding: 14px clamp(20px,4vw,70px); position: relative; z-index: 3; background: #081322; border-bottom: 1px solid #ffffff18; }
.worlds-brand { display: flex; align-items: center; gap: 9px; color: #fff; text-decoration: none; font: 700 25px 'Fredoka',sans-serif; }
.worlds-brand > span { color: #9faec5; margin-left: -8px; }
.worlds-top > span { color: #b5c3d6; font-size: 11px; letter-spacing: .05em; }
.worlds-top button { display: flex; align-items: center; gap: 8px; color: #e8dbb7; font: 700 11px 'DM Sans',sans-serif; background: #ffffff07; padding: 8px 12px; border: 1px solid #e9c77655; border-radius: 5px; cursor: pointer; }
.worlds-top button img { border-radius: 50%; }
.worlds-intro { position: absolute; top: 103px; left: 0; right: 0; text-align: center; z-index: 2; pointer-events: none; text-shadow: 0 3px 16px #020812; }
.worlds-intro > span { font-size: 9px; text-transform: uppercase; letter-spacing: .22em; color: #d7cda9; }
.worlds-intro h1 { font: 600 clamp(25px,3vw,43px)/1.1 'Fraunces',Georgia,serif; margin: 10px 0; letter-spacing: -.035em; }
.worlds-choices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); min-height: max(680px,calc(100dvh - 74px)); }
.world-half { display: flex; align-items: flex-end; position: relative; isolation: isolate; min-width: 0; overflow: hidden; padding: 210px clamp(28px,5vw,90px) 95px; color: #f7f4e8; text-decoration: none; background: #091b35; }
.world-half::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg,#05102177 0%,#05102100 34%,#061123b0 55%,#06101fee 81%,#06101f 100%); }
.world-picture { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; z-index: -3; transition: transform 1s cubic-bezier(.2,.7,.2,1),filter .6s; }
.world-rilvaris .world-picture { object-position: 52% 25%; }
.world-half:hover .world-picture { transform: scale(1.035); filter: saturate(1.1); }
.world-glow { position: absolute; inset: 0; z-index: -2; background: radial-gradient(ellipse at 40% 45%,#39bcff22,transparent 70%); }
.world-rilvaris .world-glow { background: radial-gradient(ellipse at 60% 40%,#e2c14b25,transparent 70%); }
.worlds-copy { position: relative; width: min(100%,530px); margin-inline: auto; }
.world-eyebrow { color: #a6dff2; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .2em; }
.world-rilvaris .world-eyebrow { color: #e8cf8b; }
.worlds-copy h2 { font: 700 clamp(45px,5.4vw,85px)/1 'Fredoka',sans-serif; letter-spacing: -.055em; margin: 18px 0; text-shadow: 0 5px 22px #05102066; }
.worlds-copy h2 > span { color: #7edbff; }
.world-rilvaris h2 { font-family: 'Fraunces',Georgia,serif; color: #fff1ce; margin-bottom: 4px; }
.world-subtitle { font-size: 9px; text-transform: uppercase; letter-spacing: .28em; color: #cfbd90; }
.worlds-copy p { font-size: 13px; line-height: 1.8; color: #c9d4e5; margin: 20px 0; }
.world-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 28px; }
.world-tags span { padding: 6px 9px; font-size: 9px; color: #bfcfe1; border: 1px solid #d4e4ff25; border-radius: 30px; background: #0d203c80; }
.world-enter { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 16px 21px; max-width: 330px; border: 1px solid #65d5ff; border-radius: 4px; background: #143c65dc; color: #fff; font-weight: 800; font-size: 13px; box-shadow: 0 5px 30px #03102155; transition: background .2s,translate .2s; }
.world-rilvaris .world-enter { color: #14263b; background: linear-gradient(110deg,#ffe4a0,#e9b94e); border-color: #ffdd83; }
.world-enter b { font-size: 22px; line-height: 1; }
.world-half:hover .world-enter { translate: 0 -3px; }
.world-half:focus-visible { outline: 3px solid #ffe19a; outline-offset: -6px; }
.world-corner { position: absolute; bottom: 44px; left: clamp(28px,5vw,90px); font-size: 8px; letter-spacing: .2em; color: #8da3bf; }
.world-rilvaris { border-left: 1px solid #ebca7777; }
.worlds-seam { position: absolute; width: 1px; background: linear-gradient(transparent,#edcc7c,transparent); top: 200px; bottom: 95px; left: 50%; z-index: 2; pointer-events: none; }
.worlds-seam span { position: absolute; top: 42%; left: 50%; transform: translate(-50%,-50%) rotate(45deg); width: 38px; height: 38px; border: 1px solid #d7b568; background: #09182c; font: 700 19px/38px Georgia,serif; text-align: center; color: #ecd398; box-shadow: 0 0 28px #091426; }
.worlds-footer { position: absolute; bottom: 0; left: 0; right: 0; padding: 13px clamp(20px,4vw,70px); display: flex; justify-content: space-between; gap: 20px; color: #6e86a5; font-size: 9px; border-top: 1px solid #ffffff0e; }
@media(max-width:700px) {
  .worlds-top { height: 66px; padding: 10px 16px; gap: 10px; }
  .worlds-top > span { display: none; }
  .worlds-brand { font-size: 23px; }
  .worlds-intro { top: 87px; }
  .worlds-intro > span { font-size: 7px; }
  .worlds-intro h1 { font-size: 27px; }
  .worlds-choices { grid-template-columns: minmax(0,1fr); min-height: 0; }
  .world-half { min-height: 470px; padding: 140px 26px 32px; }
  .world-rilvaris { min-height: 420px; padding-top: 110px; border-left: 0; border-top: 1px solid #e2c47677; }
  .world-picture { object-position: 50% 30%; }
  .worlds-copy h2 { font-size: 49px; margin-block: 12px; }
  .worlds-copy p { margin: 14px 0; font-size: 11px; }
  .world-tags { margin-bottom: 17px; gap: 5px; }
  .world-tags span { padding: 4px 7px; font-size: 8px; }
  .world-enter { max-width: none; padding: 13px 16px; font-size: 12px; }
  .world-corner,.worlds-seam { display: none; }
  .worlds-footer { position: static; flex-wrap: wrap; padding: 14px 22px; font-size: 8px; gap: 6px; }
}
@media(prefers-reduced-motion:reduce) { .world-picture,.world-enter { transition: none; } .world-half:hover .world-picture { transform: none; } }
