dialog.welcome-world {
  position:fixed; inset:0; margin:0; padding:0; width:100vw; height:100dvh;
  max-width:none; max-height:none; border:0; border-radius:0; overflow:hidden;
  background:#04131e; color:#f4f4e9; isolation:isolate; opacity:1; transform:none;
  transition:opacity .32s ease;
}
dialog.welcome-world::backdrop { background:#020a12; backdrop-filter:none; }
dialog.welcome-world::before,dialog.welcome-world::after { display:none; }
dialog.welcome-world.leaving { opacity:0; }
.welcome-world .tunnel-stage {
  position:absolute; inset:0; z-index:0; overflow:hidden; perspective:900px;
  perspective-origin:50% 50%; touch-action:none; cursor:grab;
  background:radial-gradient(ellipse at 50% 50%,#1d6374 0,#0c3448 35%,#04131e 75%);
}
.welcome-world .tunnel-stage:active { cursor:grabbing; }
.welcome-world .tunnel-world { position:absolute; inset:0; transform-style:preserve-3d; }
.welcome-world .tunnel-architecture { position:absolute; inset:0; width:100%; height:100%; opacity:.4; pointer-events:none; }
.welcome-world .tunnel-architecture path,.welcome-world .tunnel-architecture rect { fill:none; stroke:#83dee0; stroke-width:.65; vector-effect:non-scaling-stroke; }
.welcome-world .tunnel-photo {
  position:absolute; top:50%; left:50%; width:clamp(200px,19vw,280px); margin:0;
  border:1px solid #afdfe5b3; border-radius:12px; overflow:hidden;
  background:#123447; color:#fbfcf5; backface-visibility:hidden;
  box-shadow:0 12px 36px #0009,0 0 18px #82f0e329,inset 0 1px #fff7;
  will-change:transform,opacity; pointer-events:none;
}
.welcome-world .tunnel-photo-media { height:160px; background:#193c4b; }
.welcome-world .tunnel-photo img { width:100%; height:100%; display:block; object-fit:cover; object-position:center 25%; }
.welcome-world .tunnel-photo--company .tunnel-photo-media { height:145px; background:#f4f7f5; padding:25px; }
.welcome-world .tunnel-photo--company img { object-fit:contain; }
.welcome-world .tunnel-photo figcaption { padding:12px 14px 13px; background:linear-gradient(120deg,#153e50,#091e2d); }
.welcome-world .tunnel-photo strong { display:block; color:#fff2d2; font:700 16px/1.25 'Plus Jakarta Sans',Arial,sans-serif; }
.welcome-world .tunnel-photo figcaption span { display:block; margin-top:5px; color:#9ed6d9; font:500 10px/1.4 Arial,sans-serif; letter-spacing:1px; }
.welcome-world .tunnel-photo--fallback .tunnel-photo-media { display:grid; place-items:center; color:#e7cc80; font:700 42px Arial,sans-serif; }
.welcome-world .tunnel-vignette { position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse at center,transparent 45%,#02091280 100%); }
.welcome-world .welcome-board {
  position:absolute; z-index:2; top:50%; left:50%; width:min(420px,calc(100vw - 150px));
  max-height:calc(100dvh - 120px); overflow:auto; padding:23px 25px 19px;
  border:1px solid #d9ecec9c; border-radius:22px; text-align:center;
  background:linear-gradient(145deg,#11344ce8,#071b2beF);
  box-shadow:0 25px 85px #0009,0 0 45px #7ae4da26,inset 0 1px #ffffff38;
  backdrop-filter:blur(14px); transform:translate(-50%,-50%);
}
.welcome-world .welcome-topline { position:absolute; z-index:3; inset:24px auto auto 24px; color:#b4d8dc; font:600 9px Arial,sans-serif; letter-spacing:2px; }
.welcome-world .welcome-avatar { position:static; width:66px; height:66px; margin:0 auto 12px; opacity:1; transform:none; }
.welcome-world .welcome-avatar img { display:block; width:100%; height:100%; object-fit:contain; animation:none; }
.welcome-world .welcome-board .welcome-avatar,.welcome-world .welcome-board .welcome-copy,.welcome-world .welcome-board .welcome-choices,.welcome-world .welcome-board .welcome-bottom {
  position:static!important; inset:auto!important; transform:none!important; opacity:1!important; animation:none!important;
}
.welcome-world .welcome-board .wordmark,.welcome-world .welcome-board .welcome-paths button {
  animation:none!important; opacity:1!important; transform:none!important; filter:none!important; visibility:visible!important;
}
.welcome-world .welcome-copy { position:static; margin:0; opacity:1; transform:none; }
.welcome-world .welcome-greeting { margin:0 0 9px; color:#ddedf0; font:500 13px Arial,sans-serif; }
.welcome-world .welcome-copy .wordmark { display:block; font-size:clamp(32px,4vw,48px); letter-spacing:2px; line-height:1.1; }
.welcome-world .welcome-copy .wordmark small { margin-top:10px; color:#b4c8bc; font-size:7px; letter-spacing:2px; }
.welcome-world .welcome-genie-name { margin-top:17px; color:#b0eddd; font:700 17px Arial,sans-serif; }
.welcome-world .welcome-genie-name small { display:block; margin-top:5px; color:#bfd3dc; font:400 11px/1.5 Arial,sans-serif; }
.welcome-world .welcome-choices { position:static; margin-top:24px; opacity:1; transform:none; pointer-events:auto; }
.welcome-world .welcome-choices>p { margin:0 0 12px; color:#d5e4e6; font:400 11px/1.5 Arial,sans-serif; }
.welcome-world .welcome-paths { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.welcome-world .welcome-paths button { position:relative; padding:13px 23px 13px 12px; min-height:82px; border:1px solid #88d9dc70; border-radius:12px; background:linear-gradient(125deg,#186b7b70,#11344d); text-align:left; }
.welcome-world .welcome-paths button:nth-child(2) { background:linear-gradient(125deg,#365d8f80,#172c49); border-color:#a3c6ef75; }
.welcome-world .welcome-paths b { display:block; color:#f7fcf8; font:700 12px/1.4 Arial,sans-serif; }
.welcome-world .welcome-paths small { display:block; margin-top:5px; color:#c0dce1; font:400 10px/1.4 Arial,sans-serif; }
.welcome-world .welcome-paths span { position:absolute; right:10px; top:11px; color:#f0d188; font-size:14px; }
.welcome-world .welcome-paths button:hover,.welcome-world .welcome-paths button:focus-visible { border-color:#f1d48c; outline:2px solid #f1d48c70; outline-offset:2px; }
.welcome-world .welcome-bottom { position:static; margin:15px 0 0; color:#a8c3cb; font:400 9px/1.5 Arial,sans-serif; }
.welcome-world .tunnel-toggle { position:absolute; z-index:3; top:16px; right:20px; padding:11px 14px; min-height:40px; border:1px solid #a6dce14d; border-radius:25px; background:#082637b3; color:#d5edf0; font-size:11px; }
.welcome-world .tunnel-instruction { position:absolute; z-index:2; bottom:18px; left:90px; right:90px; margin:0; color:#b6d6dd; text-align:center; font:400 10px Arial,sans-serif; letter-spacing:.3px; pointer-events:none; }
.welcome-world .tunnel-credits { position:absolute; z-index:3; bottom:14px; left:18px; color:#b6d6dd; font:400 10px Arial,sans-serif; padding:6px; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:700px) {
  .welcome-world .welcome-board { width:clamp(240px,62vw,340px); padding:18px 18px 15px; border-radius:18px; max-height:calc(100dvh - 135px); }
  .welcome-world .welcome-avatar { width:47px; height:47px; margin-bottom:8px; }
  .welcome-world .welcome-greeting { font-size:11px; }
  .welcome-world .welcome-copy .wordmark { font-size:32px; }
  .welcome-world .welcome-genie-name { margin-top:13px; font-size:15px; }
  .welcome-world .welcome-genie-name small { font-size:10px; }
  .welcome-world .welcome-choices { margin-top:16px; }
  .welcome-world .welcome-paths { grid-template-columns:1fr; }
  .welcome-world .welcome-paths button { min-height:59px; padding:10px 24px 10px 12px; }
  .welcome-world .welcome-paths b { font-size:11px; }
  .welcome-world .welcome-paths small { font-size:9px; margin-top:3px; }
  .welcome-world .welcome-topline { top:23px; left:16px; font-size:7px; letter-spacing:1px; }
  .welcome-world .tunnel-toggle { right:12px; top:12px; font-size:9px; padding:9px 10px; }
  .welcome-world .tunnel-photo { width:200px; }
  .welcome-world .tunnel-instruction { bottom:42px; left:20px; right:20px; font-size:9px; }
}
@media(max-height:570px) {
  .welcome-world .welcome-board { padding:12px 17px; max-height:calc(100dvh - 105px); }
  .welcome-world .welcome-avatar { width:35px; height:35px; margin-bottom:4px; }
  .welcome-world .welcome-copy .wordmark { font-size:30px; }
  .welcome-world .welcome-genie-name { margin-top:8px; }
  .welcome-world .welcome-choices { margin-top:12px; }
  .welcome-world .welcome-choices>p { margin-bottom:8px; }
  .welcome-world .welcome-bottom { margin-top:9px; }
}
@media(prefers-reduced-motion:reduce) { dialog.welcome-world,.welcome-world .welcome-paths button { transition:none; } }
/* Clear, spacious mobile welcome: no frosted compositing over moving images. */
@media(max-width:700px){
 dialog.welcome-world .welcome-board{width:calc(100vw - 54px);max-width:360px;box-sizing:border-box;padding:24px 22px 20px;max-height:calc(100dvh - 132px);background:linear-gradient(145deg,#123b50,#071c2c);backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important;box-shadow:0 22px 70px #0009,inset 0 1px #ffffff30;transform:translate(-50%,-50%);}
 dialog.welcome-world .welcome-board *{text-shadow:none!important;filter:none!important;-webkit-font-smoothing:antialiased}
 dialog.welcome-world .welcome-copy .wordmark{font-size:38px;letter-spacing:2px}
 dialog.welcome-world .welcome-avatar{width:56px;height:56px}
 dialog.welcome-world .welcome-greeting{font-size:13px}
 dialog.welcome-world .welcome-genie-name{font-size:18px;margin-top:19px}
 dialog.welcome-world .welcome-genie-name small{font-size:12px;line-height:1.6}
 dialog.welcome-world .welcome-choices>p{font-size:12px;line-height:1.6}
 dialog.welcome-world .welcome-paths button{min-height:70px;padding:13px 30px 13px 15px}
 dialog.welcome-world .welcome-paths b{font-size:14px}
 dialog.welcome-world .welcome-paths small{font-size:11px;line-height:1.5}
 dialog.welcome-world .welcome-bottom{font-size:10px;line-height:1.6}
 dialog.welcome-world .tunnel-photo{box-shadow:0 6px 18px #0008;border-radius:9px;filter:none!important;will-change:auto}
 dialog.welcome-world .tunnel-vignette{background:radial-gradient(ellipse at center,#04131e55,transparent 80%)}
 dialog.welcome-world .tunnel-instruction{font-size:0}
 dialog.welcome-world .tunnel-instruction::after{content:'A world of possibility. Pause anytime.';font-size:10px}
}
@media(max-width:700px) and (max-height:700px){dialog.welcome-world .welcome-board{padding:15px 18px;max-height:calc(100dvh - 110px)}dialog.welcome-world .welcome-avatar{width:40px;height:40px}dialog.welcome-world .welcome-genie-name{margin-top:10px}dialog.welcome-world .welcome-choices{margin-top:12px}dialog.welcome-world .welcome-paths button{min-height:59px}dialog.welcome-world .welcome-copy .wordmark{font-size:32px}}

/* Keep the moving 3D world in its own painted layer on Android Chrome. */
dialog.welcome-world .tunnel-stage{contain:paint;isolation:isolate;transform:translateZ(0);z-index:0!important}
dialog.welcome-world .welcome-board{z-index:10!important;isolation:isolate;contain:paint;transform:translate3d(-50%,-50%,0)!important;background:linear-gradient(145deg,#123b50,#071c2c)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;will-change:transform}
dialog.welcome-world .welcome-topline,dialog.welcome-world .tunnel-toggle,dialog.welcome-world .tunnel-credits{z-index:12!important}
dialog.welcome-world .tunnel-instruction{z-index:11!important}

/* Mobile tunnel depth is projected in JS; keep the entire background flat. */
@media(max-width:700px){
 dialog.welcome-world .tunnel-stage{perspective:none!important;transform:none!important;transform-style:flat!important;contain:paint!important;isolation:isolate!important;z-index:0!important}
 dialog.welcome-world .tunnel-world{transform:none!important;transform-style:flat!important;isolation:isolate!important;contain:paint!important}
 dialog.welcome-world .tunnel-photo{transform-style:flat!important;will-change:auto!important;backface-visibility:visible!important}
 dialog.welcome-world .welcome-board{z-index:10000!important;transform:translate(-50%,-50%)!important;will-change:auto!important;isolation:isolate!important;backface-visibility:visible!important;opacity:1!important}
 dialog.welcome-world .welcome-board,.welcome-world .welcome-board *{transform-style:flat!important}
 dialog.welcome-world .welcome-board .welcome-copy,dialog.welcome-world .welcome-board .welcome-avatar,dialog.welcome-world .welcome-board .welcome-choices{position:relative!important;z-index:1!important}
 dialog.welcome-world .welcome-topline,dialog.welcome-world .tunnel-toggle,dialog.welcome-world .tunnel-credits,dialog.welcome-world .tunnel-instruction{z-index:10001!important}
}
.hero h1,.hero h1 span{outline:none!important;border:0!important;box-shadow:none!important}

@media(max-width:700px){dialog.welcome-world .tunnel-stage{touch-action:pan-y!important;cursor:default!important}dialog.welcome-world .welcome-board{touch-action:pan-y!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}dialog.welcome-world .tunnel-photo{box-shadow:none!important}dialog.welcome-world .tunnel-photo img{image-rendering:auto}.site-footer .footer-statement{min-width:0;max-width:100%;overflow-wrap:anywhere;white-space:normal!important}}
