/* IRON FOX UNIVERSE — 3D page pass v2 */
:root{--if-orange:#ff641e;--if-hot:#ff9a52;--if-black:#07090d;--if-glass:rgba(16,20,27,.78)}
body.if-universe-page{perspective:1200px}
.if-page-intro{isolation:isolate;min-height:clamp(220px,28vw,360px);display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.if-page-intro:before{content:"";position:absolute;z-index:-1;right:4%;top:50%;width:clamp(170px,24vw,330px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,100,30,.42);box-shadow:0 0 0 18px rgba(255,100,30,.035),0 0 0 42px rgba(255,100,30,.025),inset 0 0 70px rgba(255,100,30,.12),0 0 70px rgba(255,100,30,.12);transform:translateY(-50%) rotateX(62deg) rotateZ(-20deg);animation:if-ring-turn 26s linear infinite;pointer-events:none}
.if-page-intro:after{content:"";position:absolute;z-index:-1;right:clamp(70px,12vw,180px);top:50%;width:clamp(54px,7vw,100px);aspect-ratio:1;border:1px solid rgba(255,255,255,.24);background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,100,30,.08));box-shadow:inset -12px -12px 28px rgba(0,0,0,.55),0 0 45px rgba(255,100,30,.18);transform:translateY(-50%) rotateX(25deg) rotateY(35deg) rotateZ(18deg);animation:if-cube-float 6s ease-in-out infinite;pointer-events:none}
@keyframes if-ring-turn{to{transform:translateY(-50%) rotateX(62deg) rotateZ(340deg)}}
@keyframes if-cube-float{0%,100%{margin-top:-4px;transform:translateY(-50%) rotateX(25deg) rotateY(35deg) rotateZ(18deg)}50%{margin-top:10px;transform:translateY(-50%) rotateX(35deg) rotateY(15deg) rotateZ(32deg)}}
.if-page-intro h1,.if-page-intro p,.if-page-intro .if-kicker{position:relative;z-index:2;max-width:min(760px,75%)}
/* True centered, responsive game detail layout. Overrides legacy inline-page CSS. */
body.if-page-samurai .game-page{width:min(1120px,calc(100% - 40px))!important;max-width:1120px!important;margin:28px auto 64px!important;padding:clamp(18px,3vw,34px)!important;box-sizing:border-box!important;border:1px solid rgba(255,255,255,.12);border-radius:28px;background:linear-gradient(145deg,rgba(24,29,38,.92),rgba(8,10,14,.94));box-shadow:0 28px 90px rgba(0,0,0,.36),inset 0 1px rgba(255,255,255,.06);overflow:hidden}
body.if-page-samurai .game-info{display:grid!important;grid-template-columns:clamp(120px,18vw,220px) minmax(0,1fr)!important;align-items:center!important;gap:clamp(20px,4vw,44px)!important;width:100%!important;max-width:none!important;margin:0 0 28px!important;padding:0!important;box-sizing:border-box!important}
body.if-page-samurai .game-icon{width:100%!important;height:auto!important;aspect-ratio:1;object-fit:cover;border-radius:22px!important;border:1px solid rgba(255,100,30,.4);box-shadow:0 20px 55px rgba(0,0,0,.45),0 0 35px rgba(255,100,30,.12);transform:perspective(900px) rotateY(-5deg);}
body.if-page-samurai .game-info .info{min-width:0!important}
body.if-page-samurai .game-info h1{font-size:clamp(30px,5vw,60px)!important;line-height:1.04;letter-spacing:-.05em;margin:0 0 20px!important;color:#fff}
body.if-page-samurai .game-info .info p{margin:9px 0!important;color:#c4cad4;line-height:1.5;overflow-wrap:anywhere}
body.if-page-samurai .description-box{width:100%!important;max-width:none!important;margin:0 0 28px!important;padding:clamp(18px,3vw,30px)!important;box-sizing:border-box!important;border:1px solid rgba(255,255,255,.1);border-radius:20px!important;background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,100,30,.035))!important;color:#d6dae1;line-height:1.75!important}
body.if-page-samurai .description-box h2{font-size:clamp(16px,1.8vw,20px)!important;line-height:1.7!important;font-weight:400!important;margin:0!important}
body.if-page-samurai .download{width:100%!important;margin:24px 0!important;text-align:left!important}
body.if-page-samurai .download-btn{display:inline-flex!important;align-items:center;justify-content:center;min-height:50px;padding:14px 24px!important;max-width:100%;box-sizing:border-box;background:linear-gradient(135deg,#ff7a32,#e94b12)!important;border:1px solid rgba(255,255,255,.18);border-radius:13px!important;box-shadow:0 12px 32px rgba(255,86,25,.2);font-weight:700;text-decoration:none}
body.if-page-samurai .screenshots{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:clamp(12px,2vw,22px)!important;width:100%!important;margin:28px 0 0!important;padding:0!important;box-sizing:border-box!important;align-items:stretch!important}
body.if-page-samurai .screenshots img{display:block;width:100%!important;max-width:100%!important;height:auto!important;aspect-ratio:16/9;object-fit:cover;border-radius:16px!important;border:1px solid rgba(255,255,255,.13);box-shadow:0 16px 40px rgba(0,0,0,.28);transition:transform .3s,border-color .3s,box-shadow .3s}
body.if-page-samurai .screenshots img:hover{transform:perspective(900px) rotateX(2deg) translateY(-4px)!important;border-color:rgba(255,100,30,.55);box-shadow:0 20px 45px rgba(0,0,0,.4),0 0 25px rgba(255,100,30,.08)}
body.if-page-samurai #lightbox{left:0!important;width:100%!important;box-sizing:border-box;padding:18px}
body.if-page-samurai #lightbox img{object-fit:contain}
/* Shared 3D depth for cards and page panels */
.game-card,.project,.contact-card,.about-image,.games-container,.contacts,.about{transform-style:preserve-3d}
.project{border-color:rgba(255,255,255,.12)!important;background:linear-gradient(145deg,rgba(25,30,39,.94),rgba(8,10,14,.96))!important;box-shadow:0 24px 70px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.05)!important}
.project:hover{transform:perspective(1200px) rotateX(.6deg) translateY(-4px)!important;box-shadow:0 30px 80px rgba(0,0,0,.48),0 0 30px rgba(255,100,30,.08)!important}
.project .gallery img{transition:transform .35s,filter .35s,border-color .35s;filter:saturate(.85)}
.project .gallery img:hover{transform:perspective(900px) rotateY(-2deg) translateY(-4px) scale(1.015);filter:saturate(1.1);border-color:rgba(255,100,30,.55)}
body.if-page-about .about-image{box-shadow:0 30px 80px rgba(0,0,0,.5),0 0 0 1px rgba(255,100,30,.2),12px 12px 0 rgba(255,100,30,.035)}
body.if-page-games .game-card{box-shadow:0 24px 60px rgba(0,0,0,.4),inset 0 1px rgba(255,255,255,.06)!important}
body.if-page-contacts .contact-card{transform:perspective(1000px) rotateX(1deg)}
body.if-page-contacts .contact-card:hover{transform:perspective(1000px) rotateX(0) translateY(-6px)}
@media(max-width:760px){.if-page-intro{min-height:210px;padding-left:18px!important;padding-right:18px!important}.if-page-intro:before{right:-38px;width:180px;opacity:.7}.if-page-intro:after{right:40px;width:54px;opacity:.8}.if-page-intro h1,.if-page-intro p,.if-page-intro .if-kicker{max-width:100%}body.if-page-samurai .game-page{width:calc(100% - 24px)!important;margin:20px auto 42px!important;padding:16px!important;border-radius:20px!important}body.if-page-samurai .game-info{grid-template-columns:84px minmax(0,1fr)!important;gap:14px!important;margin-bottom:20px!important}body.if-page-samurai .game-icon{border-radius:15px!important;transform:none}body.if-page-samurai .game-info h1{font-size:clamp(24px,7vw,36px)!important;margin-bottom:12px!important}body.if-page-samurai .game-info .info p{font-size:13px;margin:5px 0!important}body.if-page-samurai .description-box{padding:17px!important;border-radius:16px!important}body.if-page-samurai .screenshots{grid-template-columns:1fr!important;gap:14px!important}body.if-page-samurai .screenshots img{aspect-ratio:16/10}.project .gallery{display:grid!important;grid-template-columns:1fr!important}.project .gallery img{width:100%!important;height:auto!important;max-height:260px;object-fit:cover}}
@media(prefers-reduced-motion:reduce){.if-page-intro:before,.if-page-intro:after{animation:none!important}}

.if-3d-ambient{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;perspective:900px;opacity:.48}.if-3d-ring{position:absolute;right:-9vw;top:25vh;width:clamp(240px,40vw,600px);aspect-ratio:1;border:1px solid rgba(255,100,30,.15);border-radius:50%;box-shadow:0 0 0 35px rgba(255,100,30,.018),inset 0 0 70px rgba(255,100,30,.035);transform:rotateX(66deg) rotateZ(-18deg);animation:if-ambient-orbit 38s linear infinite}.if-3d-shard{position:absolute;left:7vw;top:65vh;width:28px;height:28px;border:1px solid rgba(255,132,76,.25);background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,100,30,.04));transform:rotateX(35deg) rotateY(45deg) rotateZ(20deg);box-shadow:0 0 25px rgba(255,100,30,.07);animation:if-cube-float 9s ease-in-out infinite}.if-3d-shard-two{left:auto;right:9vw;top:72vh;width:16px;height:16px;animation-delay:-4s}@keyframes if-ambient-orbit{to{transform:rotateX(66deg) rotateZ(342deg)}}body>*:not(.if-3d-ambient):not(.universe-atmosphere){position:relative;z-index:1}

/* IRON FOX UNIVERSE — immersive page pass 2026 */
/* Each page gets its own 3D atmosphere while keeping real content and links accessible. */
body.if-page-shadow-game .if-page-intro,
body.if-page-cowboy-game .if-page-intro,
body.if-page-samurai .if-page-intro,
body.if-page-about .if-page-intro,
body.if-page-games .if-page-intro{padding:clamp(28px,6vw,76px) clamp(20px,7vw,100px)!important;margin:0 auto 28px!important;max-width:1440px;min-height:clamp(270px,34vw,430px);border:1px solid rgba(255,255,255,.09);border-radius:0 0 30px 30px;background:radial-gradient(ellipse at 78% 52%,rgba(255,100,30,.17),transparent 33%),linear-gradient(115deg,rgba(7,9,13,.98),rgba(14,18,25,.82) 58%,rgba(29,17,13,.74));box-shadow:0 30px 90px rgba(0,0,0,.25),inset 0 1px rgba(255,255,255,.04)}
body.if-page-shadow-game .if-page-intro:before,
body.if-page-cowboy-game .if-page-intro:before,
body.if-page-samurai .if-page-intro:before,
body.if-page-about .if-page-intro:before,
body.if-page-games .if-page-intro:before{right:8%;width:clamp(210px,31vw,440px);border-color:rgba(255,100,30,.52);box-shadow:0 0 0 22px rgba(255,100,30,.035),0 0 0 58px rgba(255,100,30,.025),inset 0 0 95px rgba(255,100,30,.16),0 0 90px rgba(255,100,30,.18);filter:drop-shadow(0 0 22px rgba(255,100,30,.15))}
body.if-page-shadow-game .if-page-intro:after,
body.if-page-cowboy-game .if-page-intro:after,
body.if-page-samurai .if-page-intro:after,
body.if-page-about .if-page-intro:after,
body.if-page-games .if-page-intro:after{right:clamp(90px,17vw,245px);width:clamp(70px,9vw,128px);border-color:rgba(255,255,255,.3);background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,100,30,.15));box-shadow:inset -16px -16px 34px rgba(0,0,0,.7),0 0 60px rgba(255,100,30,.25)}
.if-page-intro .if-kicker{display:inline-block;color:#ff9a52;font:700 11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.2em;text-transform:uppercase;margin-bottom:18px}
.if-page-intro h1{font-size:clamp(38px,7vw,88px)!important;line-height:.98!important;letter-spacing:-.065em!important;text-transform:uppercase;text-wrap:balance;text-shadow:0 10px 38px rgba(0,0,0,.45)}
.if-page-intro h1 span{color:#ff641e;text-shadow:0 0 34px rgba(255,100,30,.22)}
.if-page-intro p{color:#c4cad4;line-height:1.75;max-width:650px!important;font-size:clamp(14px,1.35vw,18px)}
.if-scene-tag{display:inline-flex;align-items:center;gap:10px;margin-top:18px;color:#8e96a4;font:10px/1.4 ui-monospace,monospace;letter-spacing:.16em}
.if-scene-tag:before{content:"";display:inline-block;width:22px;height:1px;background:#ff641e;box-shadow:0 0 10px #ff641e}
/* Shared game detail pages: raised console-like shell and dimensional screenshot panels. */
body.if-page-shadow-game .if-game-detail,body.if-page-cowboy-game .if-game-detail{position:relative;isolation:isolate;margin-top:30px;border:1px solid rgba(255,255,255,.13);background:linear-gradient(145deg,rgba(23,28,37,.96),rgba(6,8,12,.97));box-shadow:0 35px 100px rgba(0,0,0,.48),inset 0 1px rgba(255,255,255,.07)}
body.if-page-shadow-game .if-game-detail:before,body.if-page-cowboy-game .if-game-detail:before{content:"";position:absolute;z-index:-1;inset:12px;border:1px solid rgba(255,100,30,.09);border-radius:20px;pointer-events:none}
body.if-page-shadow-game .if-game-icon{transform:perspective(1000px) rotateY(-9deg) rotateX(2deg);box-shadow:18px 20px 0 rgba(255,100,30,.055),0 25px 70px rgba(0,0,0,.65),0 0 42px rgba(255,100,30,.16)}
body.if-page-cowboy-game .if-game-icon{transform:perspective(1000px) rotateY(-9deg) rotateX(2deg);box-shadow:18px 20px 0 rgba(255,100,30,.055),0 25px 70px rgba(0,0,0,.65),0 0 42px rgba(255,100,30,.16)}
.if-shot{transform-style:preserve-3d;box-shadow:0 16px 35px rgba(0,0,0,.3)}
.if-shot:focus-visible,.if-game-actions a:focus-visible{outline:2px solid #ff8a42;outline-offset:4px}
.if-game-actions .contact-btn{background:linear-gradient(135deg,#ff7a32,#e94b12);color:#fff;border:1px solid rgba(255,255,255,.18);box-shadow:0 12px 35px rgba(255,86,25,.2)}
/* Games index becomes a dimensional project hangar. */
body.if-page-games .games-container{width:min(1240px,calc(100% - 32px));margin:0 auto 70px;padding:clamp(18px,3vw,34px);border:1px solid rgba(255,255,255,.1);border-radius:28px;background:linear-gradient(145deg,rgba(20,24,32,.84),rgba(7,9,13,.82));box-shadow:0 28px 90px rgba(0,0,0,.34)}
body.if-page-games .games-grid{gap:clamp(16px,2.4vw,28px)!important;perspective:1200px}
body.if-page-games .game-card{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.13)!important;border-radius:20px!important;background:linear-gradient(145deg,rgba(29,34,44,.98),rgba(8,10,14,.98))!important;box-shadow:0 25px 60px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.07)!important;transform-style:preserve-3d;transition:transform .35s,border-color .35s,box-shadow .35s}
body.if-page-games .game-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(125deg,transparent 25%,rgba(255,100,30,.09) 50%,transparent 70%);transform:translateX(-120%);transition:transform .65s}
body.if-page-games .game-card:hover{transform:perspective(1000px) rotateY(-2deg) rotateX(2deg) translateY(-7px)!important;border-color:rgba(255,100,30,.55)!important;box-shadow:0 34px 75px rgba(0,0,0,.55),0 0 35px rgba(255,100,30,.09)!important}
body.if-page-games .game-card:hover:after{transform:translateX(120%)}
body.if-page-games .game-card img{transition:transform .55s,filter .55s;filter:saturate(.86)}
body.if-page-games .game-card:hover img{transform:scale(1.045);filter:saturate(1.12)}
/* About becomes a studio briefing / forge console. */
body.if-page-about section.about{width:min(1200px,calc(100% - 32px));margin:0 auto 70px;padding:clamp(20px,4vw,48px);display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.9fr);align-items:center;gap:clamp(24px,5vw,60px);border:1px solid rgba(255,255,255,.11);border-radius:28px;background:radial-gradient(ellipse at 82% 18%,rgba(255,100,30,.1),transparent 35%),linear-gradient(145deg,rgba(21,25,33,.94),rgba(7,9,13,.96));box-shadow:0 30px 90px rgba(0,0,0,.4),inset 0 1px rgba(255,255,255,.055)}
body.if-page-about .about-image{width:100%;max-width:100%;height:auto;object-fit:cover;border-radius:22px;border:1px solid rgba(255,100,30,.28);transform:perspective(1100px) rotateY(-5deg) rotateX(2deg);box-shadow:18px 20px 0 rgba(255,100,30,.045),0 30px 70px rgba(0,0,0,.5)}
body.if-page-about section.about h2,body.if-page-about section.about h3{letter-spacing:-.04em}
body.if-page-about section.about p{color:#c7ccd5;line-height:1.85}
/* Floating background never intercepts interactions; content stays readable and scrollable. */
.if-3d-ambient{opacity:.62}
@media(max-width:760px){body.if-page-shadow-game .if-page-intro,body.if-page-cowboy-game .if-page-intro,body.if-page-samurai .if-page-intro,body.if-page-about .if-page-intro,body.if-page-games .if-page-intro{min-height:260px;margin-bottom:18px!important;border-radius:0 0 22px 22px;padding:34px 20px!important}body.if-page-shadow-game .if-page-intro:before,body.if-page-cowboy-game .if-page-intro:before,body.if-page-samurai .if-page-intro:before,body.if-page-about .if-page-intro:before,body.if-page-games .if-page-intro:before{right:-65px;width:210px;opacity:.7}body.if-page-shadow-game .if-page-intro:after,body.if-page-cowboy-game .if-page-intro:after,body.if-page-samurai .if-page-intro:after,body.if-page-about .if-page-intro:after,body.if-page-games .if-page-intro:after{right:36px;width:58px;opacity:.75}body.if-page-shadow-game .if-game-icon,body.if-page-cowboy-game .if-game-icon,body.if-page-about .about-image{transform:none}body.if-page-about section.about{grid-template-columns:1fr;width:calc(100% - 24px);padding:18px;gap:22px;border-radius:20px}body.if-page-games .games-container{width:calc(100% - 24px);padding:14px;border-radius:20px}body.if-page-games .games-grid{grid-template-columns:1fr!important}body.if-page-games .game-card:hover{transform:translateY(-3px)!important}}
@media(prefers-reduced-motion:reduce){body.if-page-games .game-card,body.if-page-games .game-card img,.if-shot,body.if-page-shadow-game .if-game-icon,body.if-page-cowboy-game .if-game-icon{transition:none!important;transform:none!important}.if-page-intro:before,.if-page-intro:after{animation:none!important}}

/* MOBILE LAYOUT REPAIR — prevent section overlap and keep content in normal flow */
@media (max-width: 650px) {
  html, body { width:100%; max-width:100%; overflow-x:clip!important; }
  body { min-width:0!important; }
  .site-header { position:sticky!important; top:0!important; height:70px!important; min-height:70px!important; display:flex!important; flex-wrap:nowrap!important; align-items:center!important; justify-content:space-between!important; gap:12px!important; padding:0 16px!important; z-index:1000!important; }
  .site-header .brand { position:relative!important; flex:0 1 auto!important; min-width:0!important; max-width:calc(100% - 54px)!important; white-space:nowrap!important; gap:8px!important; font-size:13px!important; letter-spacing:.12em!important; }
  .site-header .brand img { flex:0 0 36px!important; width:36px!important; height:36px!important; }
  .site-header .brand span { min-width:0!important; }
  .site-header .menu-toggle { position:relative!important; flex:0 0 40px!important; width:40px!important; height:40px!important; display:grid!important; place-items:center!important; margin:0!important; padding:0!important; z-index:1002!important; }
  .site-header .nav-links { position:absolute!important; top:69px!important; left:0!important; right:0!important; width:100%!important; max-width:none!important; margin:0!important; padding:18px 20px 22px!important; background:rgba(7,9,13,.98)!important; backdrop-filter:blur(18px); flex-direction:column!important; align-items:stretch!important; gap:18px!important; z-index:1001!important; }
  .site-header .nav-links:not(.open) { display:none!important; }
  .site-header .nav-links.open { display:flex!important; }
  main { position:relative!important; display:block!important; width:100%!important; overflow:visible!important; }
  main > section { position:relative!important; inset:auto!important; float:none!important; clear:both!important; transform:none; translate:none; }
  .hero { min-height:0!important; height:auto!important; align-items:flex-start!important; overflow:hidden!important; }
  .hero-copy { position:relative!important; inset:auto!important; width:100%!important; max-width:100%!important; margin:0!important; padding:58px 22px 68px!important; }
  .hero h1 { font-size:clamp(64px,17vw,100px)!important; line-height:.88!important; overflow-wrap:normal!important; }
  .hero-sub,.hero-copy>p { max-width:100%!important; overflow-wrap:anywhere; }
  .hero-actions { position:relative!important; display:flex!important; flex-direction:column!important; align-items:flex-start!important; gap:18px!important; margin-top:24px!important; }
  .hero-actions .button { max-width:100%!important; white-space:normal!important; }
  .service-strip { position:relative!important; display:flex!important; flex-wrap:wrap!important; max-width:100%!important; margin-top:34px!important; gap:12px 16px!important; line-height:1.6!important; }
  .service-strip span { white-space:normal!important; }
  .hero-grid,.hero-glow,#fox-canvas { max-height:100%; pointer-events:none!important; }
  .projects,.capabilities,.section-wrap { width:100%!important; max-width:100%!important; min-width:0!important; }
  .section-wrap { padding:62px 20px!important; }
  .project-grid,.capability-grid { display:grid!important; grid-template-columns:minmax(0,1fr)!important; width:100%!important; }
  .project-card,.project-card:last-child { grid-column:auto!important; min-width:0!important; min-height:340px!important; }
  .studio-band { position:relative!important; display:grid!important; grid-template-columns:minmax(0,1fr)!important; width:100%!important; gap:16px!important; padding:38px 22px!important; }
  .studio-band>* { grid-column:auto!important; min-width:0!important; }
  .studio-band h2,.contact-cta h2 { overflow-wrap:anywhere!important; line-height:.98!important; }
  .capability-grid article { min-width:0!important; }
  .contact-cta { position:relative!important; width:100%!important; padding:64px 20px 76px!important; overflow:hidden!important; }
  footer { position:relative!important; display:flex!important; flex-direction:column!important; align-items:flex-start!important; width:100%!important; gap:16px!important; }
  .if-page-intro { position:relative!important; inset:auto!important; width:100%!important; min-height:0!important; height:auto!important; margin:0 auto 20px!important; padding:42px 20px!important; overflow:hidden!important; }
  .if-page-intro h1,.if-page-intro p,.if-page-intro .if-kicker { position:relative!important; max-width:100%!important; }
  body.if-page-about section.about,.about,.contacts,.games-container,.timeline,.game-page,.profile-page { position:relative!important; inset:auto!important; float:none!important; width:calc(100% - 24px)!important; max-width:100%!important; height:auto!important; min-height:0!important; margin:20px 12px 36px!important; padding:18px!important; box-sizing:border-box!important; transform:none!important; }
  body.if-page-about section.about { display:grid!important; grid-template-columns:minmax(0,1fr)!important; gap:20px!important; }
  .about-image { width:100%!important; max-width:100%!important; height:auto!important; max-height:320px!important; object-fit:cover!important; transform:none!important; }
  .games-grid,.contact-container,.gallery,.screenshots { display:grid!important; grid-template-columns:minmax(0,1fr)!important; width:100%!important; min-width:0!important; }
  .game-card,.project,.contact-card,.description-box { position:relative!important; min-width:0!important; max-width:100%!important; height:auto!important; transform:none!important; }
  .game-card img,.gallery img,.screenshots img { display:block!important; width:100%!important; max-width:100%!important; height:auto!important; object-fit:cover!important; }
  .download-btn,.button,.btn,.contact-btn { max-width:100%!important; white-space:normal!important; overflow-wrap:anywhere!important; }
}


/* MOBILE OVERLAP FIX v3 — keep page labels, intro copy and sections in normal flow */
@media (max-width: 650px) {
  html, body { max-width:100%; overflow-x:hidden!important; }
  body.if-universe-page { overflow-x:clip!important; }
  .if-page-intro {
    display:flex!important; flex-direction:column!important; align-items:flex-start!important;
    justify-content:flex-start!important; gap:0!important;
    width:100%!important; max-width:100%!important;
    min-height:0!important; height:auto!important;
    margin:0 0 24px!important; padding:38px 22px 34px!important;
    box-sizing:border-box!important; overflow:hidden!important;
    position:relative!important; inset:auto!important;
  }
  .if-page-intro .if-kicker {
    display:flex!important; position:relative!important; inset:auto!important;
    order:0!important; width:100%!important; max-width:100%!important;
    margin:0 0 22px!important; padding:0!important;
    font-size:10px!important; line-height:1.65!important;
    letter-spacing:.12em!important; white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .if-page-intro h1 {
    display:block!important; position:relative!important; inset:auto!important;
    order:1!important; width:100%!important; max-width:100%!important;
    margin:0 0 18px!important; padding:0!important;
    font-size:clamp(36px, 10.2vw, 58px)!important;
    line-height:1.02!important; letter-spacing:-.055em!important;
    overflow-wrap:normal!important; word-break:normal!important;
  }
  .if-page-intro p {
    display:block!important; position:relative!important; inset:auto!important;
    order:2!important; width:100%!important; max-width:100%!important;
    margin:0!important; padding:0!important;
    font-size:16px!important; line-height:1.7!important;
    overflow-wrap:break-word!important;
  }
  .if-page-intro .if-scene-tag {
    display:none!important; position:static!important;
  }
  .if-page-intro:before { right:-65px!important; top:55%!important; width:190px!important; opacity:.55!important; }
  .if-page-intro:after { right:28px!important; top:55%!important; width:54px!important; opacity:.45!important; }
  .if-page-intro + .about,
  .if-page-intro + .contacts,
  .if-page-intro + .games-container,
  .if-page-intro + .timeline,
  .if-page-intro + main,
  .if-page-intro + section {
    margin-top:0!important;
  }
  body.if-page-about .about,
  body.if-page-contacts .contacts,
  body.if-page-games .games-container,
  body.if-page-projects .games-container,
  body.if-page-shadow-game .game-page,
  body.if-page-cowboy-game .game-page {
    margin-top:0!important;
  }
  header { position:relative!important; z-index:20!important; }
  header nav {
    display:flex!important; flex-wrap:wrap!important; align-items:center!important;
    justify-content:space-between!important; gap:10px!important;
    width:100%!important; max-width:100%!important;
    margin:0!important; padding:12px 16px!important; box-sizing:border-box!important;
  }
  header .logo, header nav .logo {
    flex:0 1 auto!important; min-width:0!important; max-width:100%!important;
    margin:0!important; font-size:clamp(15px,4.3vw,20px)!important;
    line-height:1.2!important; white-space:normal!important;
  }
  header .logo img, header nav .logo img { width:36px!important; height:36px!important; object-fit:cover!important; }
  header .menu, header nav .menu {
    display:flex!important; flex:1 0 100%!important; order:3!important;
    justify-content:center!important; align-items:center!important;
    gap:clamp(14px,5vw,28px)!important; flex-wrap:wrap!important;
    width:100%!important; margin:8px 0 0!important; padding:0!important;
  }
  header .menu a, header nav .menu a {
    font-size:11px!important; line-height:1.5!important; white-space:nowrap!important;
  }
  .about, .contacts, .games-container, .timeline, .game-page, .profile-page {
    box-sizing:border-box!important; max-width:calc(100% - 24px)!important;
    width:calc(100% - 24px)!important; margin-left:12px!important; margin-right:12px!important;
  }
}


/* === IRON FOX PORTAL PASS: cinematic navigation + responsive world layers === */
:root{--if-portal-glow:rgba(255,100,30,.42);--if-portal-edge:rgba(255,145,80,.68)}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body.if-universe-page{isolation:isolate;overflow-x:clip}
.if-3d-ambient{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;contain:strict;background:radial-gradient(ellipse at 75% 20%,rgba(29,58,104,.23),transparent 44%),radial-gradient(ellipse at 15% 78%,rgba(255,91,28,.075),transparent 38%)}
.if-3d-ring{position:absolute;width:min(68vw,780px);aspect-ratio:1;right:-19vw;top:14vh;border:1px solid rgba(255,113,48,.19);border-radius:50%;box-shadow:0 0 0 22px rgba(255,113,48,.025),0 0 0 58px rgba(255,113,48,.018),inset 0 0 90px rgba(255,113,48,.035);transform:rotateX(64deg) rotateZ(-18deg);animation:if-world-orbit 42s linear infinite}
.if-3d-shard{position:absolute;width:clamp(28px,4vw,62px);height:clamp(28px,4vw,62px);left:8%;top:26%;border:1px solid rgba(255,145,80,.38);background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,100,30,.025));box-shadow:0 0 45px rgba(255,100,30,.09);transform:rotate(35deg) skew(-7deg);animation:if-shard-drift 9s ease-in-out infinite}
.if-3d-shard-two{left:auto;top:auto;right:15%;bottom:13%;width:24px;height:24px;animation-delay:-4s;opacity:.7}
@keyframes if-world-orbit{to{transform:rotateX(64deg) rotateZ(342deg)}}
@keyframes if-shard-drift{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -18px;rotate:18deg}}
.if-portal-transition{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;pointer-events:none;opacity:0;background:radial-gradient(circle at center,rgba(255,100,30,.18),rgba(4,6,10,.97) 58%);transition:opacity .24s ease}
.if-portal-transition:before,.if-portal-transition:after{content:"";position:absolute;width:20vmin;aspect-ratio:1;border:1px solid rgba(255,126,64,.8);border-radius:50%;box-shadow:0 0 28px rgba(255,100,30,.2),inset 0 0 24px rgba(255,100,30,.13);transform:scale(.25) rotateX(60deg);transition:transform .52s cubic-bezier(.2,.75,.2,1)}
.if-portal-transition:after{width:35vmin;transition-delay:.04s;border-color:rgba(255,255,255,.25)}
.if-portal-transition.is-active{opacity:1}
.if-portal-transition.is-active:before{transform:scale(5) rotateX(60deg)}
.if-portal-transition.is-active:after{transform:scale(3.8) rotateX(60deg)}
.if-portal-transition-label{position:absolute;bottom:12vh;color:#fff;font-size:11px;letter-spacing:.28em;text-transform:uppercase;text-shadow:0 0 18px var(--if-portal-glow)}
/* Portal-like cards remain usable and have clear keyboard focus. */
.project-card,.game-card,.project,.contact-card,.if-game-detail,.if-shot{transform-style:preserve-3d;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}
.project-card:focus-visible,.game-card:focus-visible,.project a:focus-visible,nav a:focus-visible,button:focus-visible{outline:2px solid #ff8b4a;outline-offset:4px}
.project-card:hover,.game-card:hover{border-color:var(--if-portal-edge);box-shadow:0 22px 65px rgba(0,0,0,.35),0 0 28px rgba(255,100,30,.09)}
.if-page-intro{padding:clamp(38px,7vw,88px) max(22px,calc((100vw - 1120px)/2));}
.if-page-intro h1{font-size:clamp(34px,6.2vw,76px);line-height:.98;letter-spacing:-.055em;text-wrap:balance}
.if-page-intro p{font-size:clamp(15px,1.5vw,19px);line-height:1.7;color:#bdc5d2;max-width:620px}
.if-page-intro .if-kicker{display:inline-flex;align-items:center;gap:10px;color:#ff9a60;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.if-page-intro .if-kicker:before{content:"";width:25px;height:1px;background:#ff641e;box-shadow:0 0 10px #ff641e}
.if-scene-tag{position:relative;z-index:2;margin-top:22px;color:rgba(218,224,235,.48);font-size:9px;letter-spacing:.22em}
.if-portal-transition *{box-sizing:border-box}
@media(max-width:700px){
 .if-3d-ring{width:100vw;right:-45vw;top:17vh;opacity:.65}
 .if-3d-shard{left:3%;top:18%;opacity:.45}
 .if-page-intro{min-height:unset;padding:42px 22px 36px}
 .if-page-intro:before{right:-42px;opacity:.5;width:175px}
 .if-page-intro:after{right:32px;width:44px;opacity:.55}
 .if-page-intro h1,.if-page-intro p,.if-page-intro .if-kicker{max-width:100%}
 .if-page-intro h1{font-size:clamp(32px,10vw,48px);overflow-wrap:anywhere}
 .if-scene-tag{font-size:8px;letter-spacing:.12em}
 .if-portal-transition-label{font-size:9px;letter-spacing:.18em;text-align:center;width:90%}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .if-3d-ring,.if-3d-shard,.if-portal-transition:before,.if-portal-transition:after{animation:none!important;transition:none!important}
 .if-portal-transition{display:none!important}
}

/* Mobile-first finishing pass: safe spacing, readable headings, touch targets and lighter 3D decoration. */
html { -webkit-text-size-adjust: 100%; }
body { width: 100%; max-width: 100%; overflow-x: clip; }
img, video, canvas, svg { max-width: 100%; }
button, a { -webkit-tap-highlight-color: transparent; }
a, button, input, select, textarea { touch-action: manipulation; }
:focus-visible { outline: 2px solid var(--orange, #ff5a1f); outline-offset: 3px; }

@media (max-width: 760px) {
  .site-header, header { max-width: 100%; }
  .nav-links { max-width: 100vw; }
  .section-heading { min-width: 0; }
  .section-heading h1, .section-heading h2, .hero h1,
  .page-hero h1, .universe-hero h1, .if-hero h1 {
    overflow-wrap: anywhere;
    hyphens: auto;
  }
  .project-grid, .capability-grid, .game-grid, .cards-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .project-card, .project-card:last-child {
    grid-column: auto !important;
    min-width: 0;
  }
  .button, .nav-cta, .round-arrow, .menu-toggle {
    min-height: 44px;
  }
  .hero-actions { max-width: 100%; }
  .hero-actions > * { max-width: 100%; }
  .section-wrap, main, .page-content { min-width: 0; }
  .if-3d-ambient, .portal-ring, .portal-orbit { pointer-events: none; }
}
@media (max-width: 480px) {
  .site-header { padding-left: 14px; padding-right: 14px; }
  .brand { gap: 8px; letter-spacing: .14em; }
  .brand small { letter-spacing: .28em; }
  .section-wrap { padding-left: 16px; padding-right: 16px; }
  .section-heading h1, .section-heading h2 { font-size: clamp(2.25rem, 12vw, 3.6rem); }
  .project-card, .project-card:last-child { min-height: 330px; }
  .project-info { padding: 18px; }
  .project-info h3 { font-size: clamp(1.8rem, 9vw, 2.3rem); }
  .project-info p { max-width: 100%; }
  footer { padding-left: 16px; padding-right: 16px; overflow-wrap: anywhere; }
  .nav-links { padding-left: 16px; padding-right: 16px; }
}
@media (hover: none) and (pointer: coarse) {
  .project-card:hover img, .button:hover { transform: none; }
}
@media (max-width: 760px), (prefers-reduced-motion: reduce) {
  .if-3d-ambient { opacity: .55; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* DESKTOP NEXUS FIX — isolate the home hub from legacy hero/card rules */
main > section.nexus-hero {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, .88fr) minmax(440px, 1.12fr) !important;
  grid-template-rows: minmax(450px, 1fr) !important;
  align-items: center !important;
  gap: 28px !important;
  min-height: 720px !important;
  height: min(850px, calc(100svh - 72px)) !important;
  padding: 58px clamp(24px,5.5vw,88px) 76px !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background:
    radial-gradient(ellipse at 72% 45%,rgba(255,92,28,.18),transparent 28%),
    radial-gradient(ellipse at 68% 48%,rgba(42,115,185,.20),transparent 48%),
    linear-gradient(125deg,#070a11 0%,#0a1020 52%,#08090e 100%) !important;
}
main > section.nexus-hero .nexus-copy {
  position: relative !important; z-index: 5 !important;
  grid-column: 1 !important; grid-row: 1 !important;
  width: 100% !important; min-width: 0 !important; align-self: center !important;
}
main > section.nexus-hero .nexus-destinations {
  position: relative !important; z-index: 6 !important;
  grid-column: 2 !important; grid-row: 1 !important;
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  align-self: center !important; align-items: stretch !important;
  width: 100% !important; min-width: 0 !important; max-width: 820px !important;
  margin: 140px 0 0 !important; padding: 0 !important; gap: clamp(8px,1vw,16px) !important;
}
main > section.nexus-hero .nexus-destinations > a.nexus-destination {
  position: relative !important; display: flex !important;
  flex-direction: column !important; flex-wrap: nowrap !important;
  align-items: flex-start !important; justify-content: flex-end !important;
  gap: 9px !important; width: auto !important; min-width: 0 !important;
  min-height: 205px !important; height: auto !important; margin: 0 !important;
  padding: 58px 15px 18px !important; white-space: normal !important;
  text-align: left !important; line-height: 1.35 !important;
  overflow: hidden !important; border: 1px solid rgba(139,190,232,.32) !important;
  border-radius: 9px !important;
  background: linear-gradient(145deg,rgba(22,38,59,.88),rgba(7,12,23,.94)) !important;
  color: #f4f6fb !important; text-decoration: none !important;
}
main > section.nexus-hero .nexus-destination > span {
  position: relative !important; display: block !important;
  width: 100% !important; max-width: 100% !important;
  white-space: normal !important; overflow-wrap: anywhere !important;
}
main > section.nexus-hero .nexus-destination > .nexus-destination-index {
  position: absolute !important; top: 15px !important; left: 14px !important;
  width: calc(100% - 28px) !important; font-size: 8px !important;
}
main > section.nexus-hero .nexus-destination > .nexus-destination-icon {
  font-size: 28px !important; color: #ff8a48 !important;
}
main > section.nexus-hero .nexus-destination > .nexus-destination-title {
  font-size: clamp(13px,1.3vw,19px) !important; font-weight: 850 !important;
  letter-spacing: .07em !important; overflow-wrap: normal !important;
}
main > section.nexus-hero .nexus-destination > .nexus-destination-sub {
  font-size: 10px !important; color: #aebdce !important; line-height: 1.5 !important;
}
main > section.nexus-hero .nexus-destination > .nexus-destination-arrow {
  position: absolute !important; right: 12px !important; bottom: 13px !important;
  width: auto !important; font-size: 18px !important;
}
main > section.nexus-hero .nexus-portal,
main > section.nexus-hero .nexus-orbit { left: 66% !important; top: 43% !important; }
main > section.nexus-hero #fox-canvas {
  position: absolute !important; z-index: 1 !important;
  left: 36% !important; top: 10% !important; width: 43% !important; height: 61% !important;
}
main > section.nexus-hero .nexus-bottomline {
  position: absolute !important; left: clamp(24px,5.5vw,88px) !important;
  right: clamp(24px,5.5vw,88px) !important; bottom: 24px !important;
  z-index: 7 !important; display: flex !important; justify-content: space-between !important;
  gap: 14px !important; font-size: 8px !important; letter-spacing: .12em !important;
}
@media (max-width: 1000px) {
  main > section.nexus-hero {
    grid-template-columns: minmax(0,1fr) !important; grid-template-rows: auto auto !important;
    height: auto !important; min-height: 760px !important; padding: 64px 28px 90px !important;
  }
  main > section.nexus-hero .nexus-copy { grid-column: 1 !important; grid-row: 1 !important; }
  main > section.nexus-hero .nexus-destinations {
    grid-column: 1 !important; grid-row: 2 !important; margin: 0 auto !important;
    max-width: 820px !important;
  }
}
@media (max-width: 600px) {
  main > section.nexus-hero { min-height: 0 !important; padding: 52px 17px 88px !important; }
  main > section.nexus-hero .nexus-destinations { grid-template-columns: minmax(0,1fr) !important; gap: 10px !important; }
  main > section.nexus-hero .nexus-destinations > a.nexus-destination {
    min-height: 100px !important; padding: 36px 45px 15px 68px !important;
    justify-content: center !important;
  }
  main > section.nexus-hero .nexus-destination > .nexus-destination-index {
    left: 68px !important; top: 12px !important; width: calc(100% - 90px) !important;
  }
  main > section.nexus-hero .nexus-destination > .nexus-destination-icon {
    position: absolute !important; left: 18px !important; top: 36px !important;
  }
  main > section.nexus-hero .nexus-destination > .nexus-destination-arrow {
    right: 16px !important; bottom: 36px !important;
  }
  main > section.nexus-hero .nexus-bottomline span:last-child { display: none !important; }
  main > section.nexus-hero #fox-canvas { opacity: .32 !important; }
}

/* HOTFIX: keep each destination card's text in its own vertical layout.
   Scope is deliberately narrow to avoid affecting the header and other pages. */
main > section.nexus-hero .nexus-destinations > a.nexus-destination {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
  text-align: left !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  line-height: 1.35 !important;
}
main > section.nexus-hero .nexus-destinations > a.nexus-destination > span.nexus-destination-index,
main > section.nexus-hero .nexus-destinations > a.nexus-destination > span.nexus-destination-icon,
main > section.nexus-hero .nexus-destinations > a.nexus-destination > span.nexus-destination-title,
main > section.nexus-hero .nexus-destinations > a.nexus-destination > span.nexus-destination-sub,
main > section.nexus-hero .nexus-destinations > a.nexus-destination > span.nexus-destination-arrow {
  flex: 0 0 auto !important;
  float: none !important;
  clear: both !important;
  position: relative !important;
  inset: auto !important;
  transform: none;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-indent: 0 !important;
  white-space: normal !important;
  overflow: visible !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  writing-mode: horizontal-tb !important;
}
main > section.nexus-hero .nexus-destinations > a.nexus-destination > span.nexus-destination-index {
  position: absolute !important;
  inset: 15px 14px auto 14px !important;
  width: auto !important;
  font-size: 8px !important;
  line-height: 1.4 !important;
  letter-spacing: .13em !important;
}
main > section.nexus-hero .nexus-destinations > a.nexus-destination > span.nexus-destination-icon {
  width: auto !important;
  font-size: 28px !important;
  line-height: 1.2 !important;
  margin-bottom: 5px !important;
}
main > section.nexus-hero .nexus-destinations > a.nexus-destination > span.nexus-destination-title {
  font-size: clamp(13px,1.3vw,19px) !important;
  line-height: 1.25 !important;
  letter-spacing: .07em !important;
  font-weight: 850 !important;
}
main > section.nexus-hero .nexus-destinations > a.nexus-destination > span.nexus-destination-sub {
  font-size: 10px !important;
  line-height: 1.5 !important;
  letter-spacing: normal !important;
  color: #aebdce !important;
}
main > section.nexus-hero .nexus-destinations > a.nexus-destination > span.nexus-destination-arrow {
  position: absolute !important;
  inset: auto 12px 13px auto !important;
  width: auto !important;
  font-size: 18px !important;
}
@media (max-width: 600px) {
  main > section.nexus-hero .nexus-destinations > a.nexus-destination {
    display: flex !important;
    min-height: 100px !important;
    padding: 36px 45px 15px 68px !important;
    justify-content: center !important;
  }
  main > section.nexus-hero .nexus-destinations > a.nexus-destination > span.nexus-destination-index {
    inset: 12px 45px auto 68px !important;
    width: auto !important;
  }
  main > section.nexus-hero .nexus-destinations > a.nexus-destination > span.nexus-destination-icon {
    position: absolute !important;
    inset: 36px auto auto 18px !important;
    width: auto !important;
  }
  main > section.nexus-hero .nexus-destinations > a.nexus-destination > span.nexus-destination-arrow {
    inset: auto 16px 36px auto !important;
  }
}

/* ALTERNATIVE HOME CONCEPT: immersive 3D universe gate. All class names are isolated
   from legacy hero and card styles to prevent the desktop text-collision bug. */
main > section.universe-stage {
  position:relative!important; isolation:isolate!important; overflow:hidden!important;
  display:flex!important; flex-direction:column!important; align-items:center!important;
  justify-content:flex-start!important; gap:0!important;
  width:100%!important; max-width:none!important; min-width:0!important;
  min-height:calc(100svh - 74px)!important; height:auto!important;
  margin:0!important; padding:clamp(52px,7vh,88px) clamp(22px,5vw,80px) 44px!important;
  background:radial-gradient(ellipse at 50% 39%,rgba(28,99,167,.34),transparent 36%),
    radial-gradient(ellipse at 50% 53%,rgba(255,91,32,.14),transparent 29%),
    linear-gradient(180deg,#050812 0%,#0b1428 52%,#050811 100%)!important;
  color:#f5f7fc!important;
}
.universe-nebula,.universe-stars,.universe-floor {position:absolute;inset:0;pointer-events:none}
.universe-nebula {z-index:-3;background:radial-gradient(ellipse at 17% 38%,rgba(35,83,154,.24),transparent 32%),radial-gradient(ellipse at 85% 27%,rgba(77,57,145,.18),transparent 30%)}
.universe-stars {z-index:-2;opacity:.6;background-image:radial-gradient(circle,rgba(255,255,255,.9) .7px,transparent 1.5px),radial-gradient(circle,rgba(108,192,255,.9) 1px,transparent 1.8px);background-size:71px 71px,119px 119px;background-position:0 0,31px 43px}
.universe-floor {z-index:-1;top:42%;background-image:linear-gradient(rgba(88,158,220,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(88,158,220,.12) 1px,transparent 1px);background-size:48px 48px;transform:perspective(400px) rotateX(62deg) scale(1.7);transform-origin:bottom center;mask-image:linear-gradient(transparent,black 42%,transparent)}
.universe-heading {position:relative;z-index:5;width:min(900px,100%);text-align:center;margin:0 auto;flex:0 0 auto}
.universe-kicker {font-size:10px!important;letter-spacing:.24em!important;color:#a7c5df!important;margin:0 0 20px!important}
.universe-kicker span {display:inline-block;width:6px;height:6px;border-radius:50%;background:#ff7a3d;box-shadow:0 0 13px #ff7a3d;margin-right:10px}
.universe-heading h1 {font-size:clamp(42px,6vw,82px)!important;line-height:.91!important;letter-spacing:-.065em!important;margin:0 0 18px!important;color:#f6f8ff!important}
.universe-heading h1 em {font-style:normal;color:#ff783b!important;text-shadow:0 0 40px rgba(255,93,36,.35)}
.universe-intro {font-size:14px!important;line-height:1.7!important;color:#bdcadd!important;margin:0!important}
.universe-ring {position:absolute;left:50%;top:45%;width:min(56vw,660px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,115,61,.7);box-shadow:0 0 24px rgba(255,94,34,.16),inset 0 0 45px rgba(255,94,34,.08);transform:translate(-50%,-50%) rotateX(66deg) rotateZ(-18deg);pointer-events:none;z-index:0;animation:universe-ring-turn 28s linear infinite}
.universe-ring-b {width:min(49vw,575px);border-color:rgba(111,198,255,.48);transform:translate(-50%,-50%) rotateX(66deg) rotateZ(36deg);animation-duration:36s;animation-direction:reverse}
.universe-ring-c {width:min(39vw,450px);border-style:dashed;border-color:rgba(255,255,255,.24);transform:translate(-50%,-50%) rotateX(66deg) rotateZ(74deg);animation-duration:48s}
.universe-core {position:absolute;z-index:1;left:50%;top:43%;width:clamp(110px,16vw,205px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 40% 32%,rgba(255,183,116,.95),rgba(255,91,34,.52) 18%,rgba(24,85,155,.32) 46%,rgba(4,9,20,.05) 70%);filter:drop-shadow(0 0 35px rgba(255,92,34,.32))}
.universe-core-light {position:absolute;inset:15%;border-radius:50%;border:1px solid rgba(255,175,116,.7);box-shadow:0 0 38px rgba(255,96,37,.36),inset 0 0 32px rgba(91,174,255,.22);animation:universe-core-pulse 4s ease-in-out infinite}
.universe-core-mark {font-size:clamp(32px,5vw,62px);color:#ffba84;text-shadow:0 0 28px #ff6c35}
main > section.universe-stage #fox-canvas {position:absolute!important;z-index:2!important;left:50%!important;top:18%!important;width:min(40vw,480px)!important;height:42%!important;transform:translateX(-50%)!important;pointer-events:none!important;opacity:.78!important}
.universe-gates {position:relative;z-index:8;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(12px,2vw,24px)!important;width:min(1000px,100%)!important;margin:clamp(210px,29vh,320px) auto 0!important;padding:0!important;align-items:stretch!important}
.universe-gates > a.universe-gate {box-sizing:border-box!important;position:relative!important;display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;align-items:flex-start!important;justify-content:flex-start!important;gap:0!important;float:none!important;clear:none!important;min-width:0!important;width:100%!important;height:auto!important;min-height:190px!important;margin:0!important;padding:17px 19px 16px!important;overflow:hidden!important;white-space:normal!important;text-align:left!important;text-decoration:none!important;color:#f5f7fc!important;border:1px solid rgba(130,183,224,.32)!important;border-radius:8px!important;background:linear-gradient(145deg,rgba(21,38,61,.91),rgba(5,10,21,.95))!important;box-shadow:inset 0 1px rgba(255,255,255,.12),0 18px 45px rgba(0,0,0,.28)!important;backdrop-filter:blur(12px);transform:perspective(700px) rotateX(2deg)!important;transition:transform .25s,border-color .25s,box-shadow .25s!important}
.universe-gates > a.universe-gate::before {content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 22%,rgba(255,255,255,.15) 48%,transparent 70%);transform:translateX(-130%);transition:transform .6s;pointer-events:none}
.universe-gates > a.universe-gate::after {content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,#ff6c2f,#70cfff);transform:scaleX(.08);transform-origin:left;transition:transform .25s}
.universe-gates > a.universe-gate:hover {transform:perspective(700px) translateY(-8px) rotateX(0)!important;border-color:rgba(255,126,66,.78)!important;box-shadow:inset 0 1px rgba(255,255,255,.15),0 26px 55px rgba(0,0,0,.4),0 0 26px rgba(255,99,38,.12)!important}
.universe-gates > a.universe-gate:hover::before {transform:translateX(130%)}
.universe-gates > a.universe-gate:hover::after {transform:scaleX(1)}
.universe-gates > a.universe-gate:active {transform:translateY(3px) scale(.985)!important}
.universe-gate > span {position:static!important;inset:auto!important;display:block!important;float:none!important;clear:both!important;transform:none!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;writing-mode:horizontal-tb!important;flex:0 0 auto!important}
.universe-gate .gate-topline {display:flex!important;justify-content:space-between;align-items:center;font-size:8px!important;letter-spacing:.16em;color:#9bb0c7!important}
.universe-gate .gate-topline span {display:inline!important;width:auto!important;color:#7dd4ff;font-size:16px}
.universe-gate .gate-symbol {font-size:30px!important;color:#ff9457!important;line-height:1!important;margin:20px 0 12px!important;text-shadow:0 0 24px rgba(255,101,42,.48)}
.universe-gate .gate-name {font-size:clamp(17px,1.8vw,23px)!important;font-weight:850!important;letter-spacing:.09em!important;line-height:1.25!important}
.universe-gate .gate-caption {font-size:11px!important;line-height:1.5!important;color:#b4c3d5!important;margin-top:7px!important}
.universe-gate .gate-status {font-size:7px!important;letter-spacing:.13em!important;color:#83d8b7!important;margin-top:auto!important;padding-top:17px!important}
.universe-gate .gate-status i {display:inline-block;width:5px;height:5px;border-radius:50%;background:#70e2ad;box-shadow:0 0 8px #70e2ad;margin-right:7px}
.universe-hud {position:absolute;z-index:4;bottom:23px;font-size:8px;line-height:1.9;letter-spacing:.13em;color:#91a4bc}
.universe-hud b {color:#dce7f5;font-weight:600}
.universe-hud-left {left:clamp(22px,5vw,80px)}
.universe-hud-right {right:clamp(22px,5vw,80px);text-align:right}
.universe-hud-right span {display:inline-block;width:5px;height:5px;background:#70e2ad;border-radius:50%;box-shadow:0 0 8px #70e2ad;margin-left:6px}
@keyframes universe-ring-turn {to{rotate:360deg}}
@keyframes universe-core-pulse {50%{transform:scale(1.08);opacity:.65}}
@media(max-width:900px) {
 main > section.universe-stage {min-height:100svh!important;padding:52px 24px 72px!important}
 .universe-ring {top:35%;width:min(78vw,560px)}
 .universe-ring-b {width:min(68vw,490px)}
 .universe-ring-c {width:min(55vw,390px)}
 .universe-core {top:34%;width:clamp(110px,19vw,170px)}
 main > section.universe-stage #fox-canvas {top:14%!important;width:55%!important;height:34%!important;opacity:.48!important}
 .universe-gates {margin-top:clamp(200px,31vh,270px)!important}
}
@media(max-width:600px) {
 main > section.universe-stage {padding:48px 17px 78px!important;min-height:0!important}
 .universe-heading h1 {font-size:clamp(39px,12vw,62px)!important}
 .universe-kicker {font-size:8px!important;letter-spacing:.14em!important}
 .universe-intro {font-size:13px!important}
 .universe-ring {top:29%;width:94vw;opacity:.75}
 .universe-ring-b {width:79vw}
 .universe-ring-c {width:65vw}
 .universe-core {top:29%;width:112px}
 main > section.universe-stage #fox-canvas {top:14%!important;width:72%!important;height:25%!important;opacity:.28!important}
 .universe-gates {grid-template-columns:minmax(0,1fr)!important;gap:10px!important;margin-top:clamp(190px,27vh,230px)!important}
 .universe-gates > a.universe-gate {min-height:112px!important;padding:15px 17px!important}
 .universe-gate .gate-symbol {position:absolute!important;left:auto!important;right:18px!important;top:40px!important;width:auto!important;margin:0!important;font-size:25px!important}
 .universe-gate .gate-name {font-size:17px!important}
 .universe-gate .gate-caption {font-size:10px!important;margin-top:4px!important}
 .universe-gate .gate-status {padding-top:10px!important}
 .universe-hud {font-size:7px;bottom:15px}
 .universe-hud-right {max-width:48%}
}
@media(prefers-reduced-motion:reduce) {
 .universe-ring,.universe-core-light {animation:none!important}
 .universe-gates > a.universe-gate,.universe-gate::before,.universe-gate::after {transition:none!important}
}
/* FLOATING WORLDS HUB — homepage-only, self-contained layout */
body:has(.floating-worlds) {margin:0;background:#070b16;overflow-x:hidden}
body:has(.floating-worlds) > .site-header {display:none!important}
main:has(.floating-worlds) {margin:0!important;padding:0!important;max-width:none!important;width:100%!important}
main > section.floating-worlds {
 position:relative!important;isolation:isolate!important;display:block!important;overflow:hidden!important;
 width:100%!important;max-width:none!important;min-width:0!important;min-height:100svh!important;height:auto!important;
 margin:0!important;padding:0!important;color:#f8f5ff!important;
 background:linear-gradient(180deg,#111c3a 0%,#3c4b79 37%,#f28d75 70%,#151b35 100%)!important;
}
.fw-sky{position:absolute;inset:0;z-index:-5;background:radial-gradient(ellipse at 18% 40%,rgba(255,187,136,.68),transparent 31%),radial-gradient(ellipse at 83% 35%,rgba(130,91,218,.52),transparent 34%),linear-gradient(180deg,#111a36 0%,#344b78 42%,#f0a18a 70%,#171d36 100%)}
.fw-stars{position:absolute;inset:0;z-index:-4;opacity:.68;background-image:radial-gradient(circle,white .8px,transparent 1.6px),radial-gradient(circle,#9bd7ff 1px,transparent 1.8px);background-size:73px 73px,127px 127px;background-position:5px 13px,47px 61px}
.fw-planet{position:absolute;z-index:-3;top:4%;left:60%;width:min(40vw,480px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 30% 28%,#f7d5cc,#9d9dc4 38%,#3e4a77 70%,#1a2446 100%);opacity:.7;box-shadow:0 0 100px rgba(144,164,255,.25)}
.fw-halo{position:absolute;z-index:-2;top:20%;left:50%;width:min(78vw,1050px);height:min(25vw,310px);border:2px solid rgba(255,177,117,.48);border-radius:50%;transform:translateX(-50%) rotate(-13deg);box-shadow:0 0 42px rgba(255,133,94,.17),inset 0 0 45px rgba(255,133,94,.12)}
.fw-island{position:absolute;z-index:0;background:linear-gradient(145deg,#4a4f6a,#171d31 60%,#080e1b);clip-path:polygon(0 0,100% 0,88% 38%,68% 64%,57% 100%,41% 73%,18% 59%);filter:drop-shadow(0 22px 18px rgba(0,0,0,.38))}
.fw-island-center{top:27%;left:36%;width:29%;height:31%;clip-path:polygon(8% 0,92% 0,100% 30%,78% 62%,62% 100%,38% 100%,22% 62%,0 30%);background:linear-gradient(145deg,#6d718b,#252e4b 56%,#10182b)}
.fw-island-left{top:42%;left:-3%;width:36%;height:30%;transform:rotate(-2deg)}
.fw-island-right{top:41%;right:-3%;width:36%;height:30%;transform:scaleX(-1) rotate(-2deg)}
.fw-waterfall{position:absolute;left:42%;top:60%;width:17%;height:65%;background:linear-gradient(180deg,#7de2ff,rgba(88,174,255,.5),transparent);filter:blur(7px);opacity:.8}
.fw-tree{position:absolute;top:-7%;left:35%;width:27%;height:40%;border-radius:50% 50% 42% 42%;background:radial-gradient(ellipse at 50% 65%,#ffac8d,#a34868 60%,transparent 72%);filter:blur(3px)}
.fw-bridge{position:absolute;z-index:1;top:58%;width:17%;height:4px;border-top:3px solid rgba(255,205,168,.75);box-shadow:0 0 15px rgba(255,172,120,.4)}
.fw-bridge-left{left:22%;transform:rotate(-8deg)}.fw-bridge-right{right:22%;transform:rotate(8deg)}
.fw-brand{position:absolute;z-index:5;top:7%;left:50%;transform:translateX(-50%);width:min(420px,90%);display:flex;align-items:center;flex-direction:column;text-align:center;gap:10px}
.fw-brand-overline{font-size:9px;letter-spacing:.25em;color:#fbe0d6}
.fw-brand-button{display:flex;align-items:center;gap:12px;padding:10px 18px;border:1px solid rgba(255,215,187,.55);border-radius:12px;background:linear-gradient(145deg,rgba(15,22,42,.78),rgba(30,35,63,.48));box-shadow:inset 0 1px rgba(255,255,255,.18),0 12px 32px rgba(0,0,0,.23),0 0 25px rgba(255,145,102,.15);color:#fff;text-decoration:none;backdrop-filter:blur(12px);transition:transform .25s,box-shadow .25s}
.fw-brand-button:hover{transform:translateY(-4px) scale(1.025);box-shadow:0 18px 38px rgba(0,0,0,.3),0 0 35px rgba(255,145,102,.32)}
.fw-brand-button img{width:42px;height:42px;object-fit:contain;border-radius:50%}
.fw-brand-button span{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1;letter-spacing:.12em}.fw-brand-button b{font-size:20px}.fw-brand-button small{font-size:8px;letter-spacing:.45em;margin-top:4px}
.fw-brand-button i{font-style:normal;font-size:22px;color:#ffbd95;margin-left:8px}
.fw-brand>p{margin:0;font-size:9px;letter-spacing:.23em;color:#fff0e9}
.fw-world-nav{position:absolute;z-index:6;left:50%;top:39%;transform:translateX(-50%);width:min(1200px,94%);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,26px);align-items:stretch}
.fw-world{box-sizing:border-box;position:relative;min-width:0;min-height:250px;padding:22px 20px 18px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:8px;border-radius:14px;border:1px solid rgba(255,255,255,.28);color:#fff;text-decoration:none;overflow:hidden;backdrop-filter:blur(10px);box-shadow:inset 0 1px rgba(255,255,255,.16),0 22px 44px rgba(0,0,0,.32);transition:transform .28s,border-color .28s,box-shadow .28s}
.fw-world::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.22) 48%,transparent 70%);transform:translateX(-130%);transition:transform .65s;pointer-events:none}
.fw-world:hover{transform:translateY(-10px) scale(1.025);border-color:rgba(255,255,255,.8);box-shadow:inset 0 1px rgba(255,255,255,.2),0 30px 60px rgba(0,0,0,.38)}
.fw-world:hover::before{transform:translateX(130%)}.fw-world:active{transform:translateY(3px) scale(.985)}
.fw-world-games{background:linear-gradient(180deg,rgba(255,146,76,.25),rgba(33,18,28,.9)),radial-gradient(ellipse at 50% 0%,#f8a168,transparent 65%)}
.fw-world-about{background:linear-gradient(180deg,rgba(93,186,255,.24),rgba(11,24,49,.92)),radial-gradient(ellipse at 50% 0%,#73cfff,transparent 65%)}
.fw-world-contacts{background:linear-gradient(180deg,rgba(196,116,255,.26),rgba(23,15,43,.92)),radial-gradient(ellipse at 50% 0%,#b58bff,transparent 65%)}
.fw-world-symbol{font-size:30px;text-shadow:0 0 25px currentColor}.fw-world-games .fw-world-symbol{color:#ffc08c}.fw-world-about .fw-world-symbol{color:#a4e3ff}.fw-world-contacts .fw-world-symbol{color:#d8b3ff}
.fw-world-label{font-size:8px;letter-spacing:.18em;color:rgba(255,255,255,.75)}
.fw-world strong{font-size:clamp(19px,2.2vw,28px);letter-spacing:.09em;line-height:1.2}
.fw-world small{font-size:11px;color:rgba(255,255,255,.78)}
.fw-world i{font-style:normal;font-size:8px;letter-spacing:.15em;margin-top:13px;padding-top:12px;border-top:1px solid rgba(255,255,255,.22);width:100%}
.fw-status{position:absolute;z-index:6;bottom:22px;left:28px;right:28px;display:flex;justify-content:space-between;gap:12px;color:#f4dcd6;font-size:8px;letter-spacing:.16em}
.fw-status i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#7df0bc;box-shadow:0 0 10px #7df0bc;margin-right:7px}
@media(max-width:760px){
 main > section.floating-worlds{min-height:100svh!important;padding:0 0 68px!important}
 .fw-planet{top:9%;left:37%;width:65vw;opacity:.45}
 .fw-halo{top:18%;width:115vw;height:36vw}
 .fw-brand{top:4%;gap:7px}.fw-brand-button{padding:7px 12px}.fw-brand-button img{width:32px;height:32px}.fw-brand-button b{font-size:16px}
 .fw-island-center{top:22%;left:22%;width:56%;height:22%}.fw-island-left{top:37%;left:-18%;width:60%;height:21%}.fw-island-right{top:37%;right:-18%;width:60%;height:21%}
 .fw-bridge{top:48%;width:14%}
 .fw-world-nav{position:relative;top:auto;left:auto;transform:none;width:auto;margin:0 17px;padding-top:clamp(310px,47vh,430px);grid-template-columns:minmax(0,1fr);gap:10px}
 .fw-world{min-height:106px;padding:15px 18px 14px 68px;justify-content:center;gap:5px;border-radius:11px}
 .fw-world-symbol{position:absolute;left:20px;top:36px;font-size:25px}
 .fw-world-label{font-size:7px}.fw-world strong{font-size:17px}.fw-world small{font-size:10px}.fw-world i{width:auto;border:0;padding:0;margin:0;position:absolute;right:15px;bottom:16px;font-size:7px}
 .fw-status{left:17px;right:17px;bottom:15px;font-size:7px;letter-spacing:.08em}.fw-status span:last-child{max-width:46%;text-align:right}
}
@media(max-width:390px){.fw-world-nav{padding-top:300px}.fw-brand-overline{font-size:8px}.fw-status span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){.fw-world,.fw-world::before,.fw-brand-button{transition:none!important}}

/* HOME-ONLY HUB: remove every section below the floating-worlds hero */
body:has(main > .floating-worlds) main > section:not(.floating-worlds) { display:none !important; }
body:has(main > .floating-worlds) main > footer,
body:has(main > .floating-worlds) footer { display:none !important; }
body:has(main > .floating-worlds) .site-footer,
body:has(main > .floating-worlds) .footer { display:none !important; }
body:has(main > .floating-worlds) main { padding-bottom:0!important; margin-bottom:0!important; }
body:has(main > .floating-worlds) { overflow-x:hidden!important; }

/* Enhanced floating-world panorama: layered clouds, floating rock silhouettes, aurora and distant stars */
main > section.floating-worlds {
  min-height:100svh!important;
  height:100svh!important;
  max-height:100svh!important;
  overflow:hidden!important;
  background:#101b3c!important;
}
.fw-sky {
  background:
    radial-gradient(ellipse at 48% 63%,rgba(255,193,153,.52),transparent 29%),
    radial-gradient(ellipse at 18% 38%,rgba(100,155,255,.42),transparent 35%),
    radial-gradient(ellipse at 80% 32%,rgba(151,105,255,.48),transparent 38%),
    linear-gradient(180deg,#080f27 0%,#1a3670 30%,#627fc1 55%,#e5a6ad 74%,#202b53 100%)!important;
}
.fw-stars {
  opacity:.78!important;
  background-image:
    radial-gradient(circle,rgba(255,255,255,.95) .8px,transparent 1.6px),
    radial-gradient(circle,rgba(175,216,255,.9) 1px,transparent 1.9px),
    radial-gradient(circle,rgba(255,190,153,.75) .7px,transparent 1.5px)!important;
  background-size:67px 67px,113px 113px,173px 173px!important;
  background-position:7px 17px,39px 51px,81px 24px!important;
}
.fw-planet {
  top:7%!important;left:60%!important;width:min(37vw,470px)!important;
  background:
    radial-gradient(circle at 32% 27%,rgba(255,244,240,.98),rgba(184,201,255,.94) 27%,rgba(108,127,204,.92) 57%,rgba(48,67,133,.96) 78%,rgba(20,32,76,.98) 100%)!important;
  box-shadow:0 0 90px rgba(137,173,255,.35),inset -35px -25px 65px rgba(12,22,63,.3)!important;
}
.fw-halo {
  top:24%!important;width:min(85vw,1100px)!important;height:min(27vw,330px)!important;
  border-color:rgba(255,208,178,.58)!important;
  box-shadow:0 0 45px rgba(255,165,145,.2),inset 0 0 55px rgba(255,180,155,.12)!important;
}
.fw-island {
  background:linear-gradient(145deg,#6f7899 0%,#353f67 42%,#151d39 72%,#080e20 100%)!important;
  filter:drop-shadow(0 24px 22px rgba(0,0,0,.4))!important;
}
.fw-island-center {
  top:27%!important;left:36%!important;width:29%!important;height:31%!important;
  background:linear-gradient(145deg,#a1a9c9 0%,#555f88 35%,#273455 66%,#111a32 100%)!important;
}
.fw-island-left {top:42%!important}
.fw-island-right {top:41%!important}
.fw-waterfall {
  background:linear-gradient(180deg,#e4f5ff,rgba(112,199,255,.72),rgba(75,137,255,.05))!important;
  filter:blur(6px)!important;box-shadow:0 0 22px rgba(115,200,255,.65)!important;
}
.fw-tree {background:radial-gradient(ellipse at 50% 65%,#ffc0aa,#a75a86 58%,transparent 74%)!important}
.fw-bridge {border-top-color:rgba(255,220,194,.9)!important;box-shadow:0 0 18px rgba(255,176,148,.62)!important}
.fw-brand {top:4.5%!important}
.fw-world-nav {top:40%!important}
.fw-world {
  background-color:rgba(11,19,43,.75)!important;
  border-color:rgba(225,236,255,.42)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.18),0 22px 44px rgba(0,0,0,.34),0 0 26px rgba(133,177,255,.08)!important;
}
.fw-world-games {background:linear-gradient(180deg,rgba(255,167,113,.30),rgba(24,20,45,.91))!important}
.fw-world-about {background:linear-gradient(180deg,rgba(106,197,255,.30),rgba(12,25,54,.92))!important}
.fw-world-contacts {background:linear-gradient(180deg,rgba(185,135,255,.32),rgba(22,16,50,.92))!important}
.fw-status {text-shadow:0 1px 6px rgba(0,0,0,.5)!important}
@media(max-width:760px) {
  main > section.floating-worlds {height:auto!important;max-height:none!important;min-height:100svh!important;overflow:hidden!important}
  .fw-planet {top:8%!important;left:35%!important;width:68vw!important}
  .fw-halo {top:19%!important;width:120vw!important;height:42vw!important}
  .fw-island-center {top:22%!important}
  .fw-world-nav {padding-top:clamp(300px,43vh,400px)!important}
}

/* FULLSCREEN BLEED: extend the floating-world sky across the entire viewport */
html:has(.floating-worlds), body:has(.floating-worlds) {
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow-x:hidden!important;
  background:#101b3c!important;
}
body:has(.floating-worlds) {
  min-height:100svh!important;
  background:
    radial-gradient(ellipse at 50% 45%,rgba(74,119,224,.24),transparent 52%),
    linear-gradient(180deg,#111a39 0%,#253d76 48%,#667db8 72%,#202b53 100%)!important;
}
body:has(.floating-worlds) > * {
  box-sizing:border-box;
}
body:has(.floating-worlds) main,
body:has(.floating-worlds) main:has(.floating-worlds) {
  display:block!important;
  position:relative!important;
  width:100vw!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  left:0!important;
  right:0!important;
  transform:none!important;
  background:transparent!important;
  overflow:visible!important;
}
main > section.floating-worlds {
  width:100vw!important;
  max-width:none!important;
  min-width:0!important;
  min-height:100svh!important;
  height:100svh!important;
  max-height:none!important;
  margin:0!important;
  left:0!important;
  right:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
/* Keep the same sky behind any browser rounding / subpixel gaps. */
.fw-sky {
  position:fixed!important;
  z-index:-5!important;
  inset:0!important;
  width:100vw!important;
  height:100svh!important;
}
@media(max-width:760px) {
  main > section.floating-worlds {
    width:100vw!important;
    height:auto!important;
    min-height:100svh!important;
  }
}
/* CENTER THE THREE DESTINATION PANELS ON DESKTOP */
.fw-world-nav {
  left:50%!important; right:auto!important;
  width:min(1120px, calc(100vw - 64px))!important;
  margin-left:0!important; margin-right:0!important;
  transform:translateX(-50%)!important; box-sizing:border-box!important;
}
.fw-world-nav > .fw-world {min-width:0!important;box-sizing:border-box!important}
@media(min-width:761px) {
  .fw-world-nav {left:50%!important;width:min(1120px, calc(100vw - 80px))!important;transform:translateX(-50%)!important}
}
@media(max-width:760px) {
  .fw-world-nav {left:auto!important;right:auto!important;width:auto!important;margin-left:17px!important;margin-right:17px!important;transform:none!important}
}

/* NEXUS RIFT: replace abstract gradient scene with the new cinematic artwork */
main > section.floating-worlds {
  background:#070d1d!important;
}
.fw-sky {
  position:absolute!important;
  inset:0!important;
  z-index:-5!important;
  background:
    linear-gradient(180deg,rgba(4,9,24,.16) 0%,rgba(5,10,25,.04) 42%,rgba(5,10,23,.45) 100%),
    url("Images/nexus-rift-background.png") center center / cover no-repeat!important;
}
.fw-stars {
  opacity:.28!important;
  background-size:91px 91px,157px 157px!important;
}
.fw-planet,.fw-halo,.fw-island,.fw-bridge {
  display:none!important;
}
/* Keep destination panels readable over the cinematic scene */
.fw-world-nav {top:42%!important}
.fw-world {
  background:linear-gradient(180deg,rgba(13,25,48,.76),rgba(5,11,25,.91))!important;
  border-color:rgba(167,207,255,.45)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.16),0 22px 44px rgba(0,0,0,.42),0 0 24px rgba(83,156,255,.10)!important;
}
.fw-world-games {background:linear-gradient(180deg,rgba(122,61,37,.64),rgba(6,12,28,.91))!important}
.fw-world-about {background:linear-gradient(180deg,rgba(29,86,137,.68),rgba(5,12,28,.92))!important}
.fw-world-contacts {background:linear-gradient(180deg,rgba(78,49,128,.67),rgba(8,10,29,.92))!important}
.fw-brand-button {
  background:linear-gradient(145deg,rgba(8,17,35,.88),rgba(18,29,53,.74))!important;
  border-color:rgba(178,211,255,.55)!important;
}
.fw-status {text-shadow:0 2px 8px rgba(0,0,0,.85)!important}
@media(max-width:760px) {
  .fw-sky {
    background:
      linear-gradient(180deg,rgba(4,9,24,.28),rgba(5,10,25,.14) 40%,rgba(5,10,23,.58)),
      url("Images/nexus-rift-background.png") center center / cover no-repeat!important;
  }
  .fw-world-nav {top:auto!important}
}

/* FINAL FIX: make the Nexus hub itself cover the complete browser viewport.
   This avoids a parent/container width leaving a strip of the old background on the right. */
html:has(.floating-worlds),
body:has(.floating-worlds) {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #070d1d !important;
}
body:has(.floating-worlds) main {
  position: static !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  overflow: visible !important;
}
body:has(.floating-worlds) main > section:not(.floating-worlds),
body:has(.floating-worlds) main > footer,
body:has(.floating-worlds) footer {
  display: none !important;
}
main > section.floating-worlds {
  position: fixed !important;
  inset: 0 !important;
  z-index: 1000 !important;
  display: block !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  border: 0 !important;
  border-radius: 0 !important;
  transform: none !important;
}
main > section.floating-worlds .fw-sky {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: -5 !important;
  background-position: center center !important;
  background-size: cover !important;
}
@media (max-width: 760px) {
  main > section.floating-worlds {
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
  }
  main > section.floating-worlds .fw-sky {
    background-position: center center !important;
    background-size: cover !important;
  }
}

/* NEXUS MINI-PORTALS: portal glyphs, energy rings and activation flash */
.fw-world-symbol {
  position: relative !important;
  isolation: isolate !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 58px !important;
  width: 58px !important;
  height: 58px !important;
  margin: 0 0 12px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.12) 0 18%, transparent 19%),
    radial-gradient(ellipse at center, rgba(20,35,68,.92) 0 46%, rgba(10,18,39,.2) 70%, transparent 72%) !important;
  font-size: 25px !important;
  line-height: 1 !important;
  text-shadow: 0 0 12px currentColor !important;
  transition: transform .28s ease, filter .28s ease !important;
}
.fw-world-symbol::before,
.fw-world-symbol::after {
  content: "" !important;
  position: absolute !important;
  pointer-events: none !important;
  border-radius: 50% !important;
}
.fw-world-symbol::before {
  inset: 2px !important;
  border: 2px solid currentColor !important;
  border-left-color: transparent !important;
  border-right-color: rgba(255,255,255,.75) !important;
  box-shadow: 0 0 10px currentColor, inset 0 0 10px rgba(255,255,255,.12) !important;
  animation: nexusPortalOrbit 8s linear infinite !important;
}
.fw-world-symbol::after {
  inset: -5px !important;
  border: 1px solid currentColor !important;
  border-top-color: transparent !important;
  border-bottom-color: rgba(255,255,255,.55) !important;
  opacity: .55 !important;
  transform: rotate(-25deg) scale(.93) !important;
  transition: inset .28s ease, opacity .28s ease, transform .28s ease !important;
}
.fw-world-games .fw-world-symbol { color: #ffb16e !important; }
.fw-world-about .fw-world-symbol { color: #7fe3ff !important; }
.fw-world-contacts .fw-world-symbol { color: #c7a0ff !important; }
.fw-world:hover .fw-world-symbol {
  transform: scale(1.12) !important;
  filter: brightness(1.3) drop-shadow(0 0 13px currentColor) !important;
}
.fw-world:hover .fw-world-symbol::after {
  inset: -9px !important;
  opacity: .95 !important;
  transform: rotate(25deg) scale(1.02) !important;
}
.fw-world:active .fw-world-symbol {
  animation: nexusPortalBurst .52s ease-out !important;
}
.fw-world:active .fw-world-symbol::before,
.fw-world:active .fw-world-symbol::after {
  animation: nexusPortalFlash .52s ease-out !important;
}
.fw-world:focus-visible {
  outline: 2px solid rgba(255,255,255,.95) !important;
  outline-offset: 4px !important;
}
@keyframes nexusPortalOrbit {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@keyframes nexusPortalBurst {
  0% { transform: scale(1); filter: brightness(1); }
  45% { transform: scale(1.32); filter: brightness(1.9) drop-shadow(0 0 22px currentColor); }
  100% { transform: scale(1.06); filter: brightness(1.2); }
}
@keyframes nexusPortalFlash {
  0% { opacity: .65; }
  40% { opacity: 1; box-shadow: 0 0 30px 8px currentColor; }
  100% { opacity: .25; }
}
@media (max-width: 760px) {
  .fw-world-symbol {
    flex-basis: 42px !important;
    width: 42px !important;
    height: 42px !important;
    font-size: 21px !important;
    margin: 0 !important;
  }
  .fw-world-symbol::after { inset: -3px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .fw-world-symbol::before { animation: none !important; }
  .fw-world-symbol, .fw-world-symbol::after { transition: none !important; }
}
