/* The world is isolated from the existing service, people, and chess treatments. */
#top.nu-world { --world-blue:#b8efff; overflow-anchor:none;height:auto; min-height:760px; padding:0; overflow:visible; background:#05080e; color:#f6f8fc; }
.js #top.nu-world { height:340svh; min-height:760px; }
#top.nu-world .nu-world-stage { position:sticky; top:0; height:100svh; min-height:760px; overflow:hidden; isolation:isolate; background:radial-gradient(ellipse at 70% 48%,#172d4b 0%,#0b1626 37%,#05080e 74%); }
.nu-world-canvas,.nu-world-fallback {position:absolute;left:0;top:0;width:100%;height:100%;object-fit:contain;pointer-events:none;}
.nu-world-canvas {opacity:0;}
.has-webgl .nu-world-canvas {opacity:1;}
.has-webgl .nu-world-fallback {opacity:0;}
.nu-world-stage::after {content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#05080e 0%,#05080ef0 13%,transparent 48%),linear-gradient(0deg,#05080e 0%,transparent 26%);}
.nu-world-editorial {position:absolute;left:var(--page);top:27%;z-index:3;width:36%;max-width:500px;pointer-events:none;}
.nu-world-editorial [hidden] {display:none;}
.nu-world-kicker {display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--world-blue);margin:0 0 27px;}
.nu-world-kicker::before {content:'';width:22px;height:1px;background:var(--world-blue);}
#top.nu-world h1,#top.nu-world h2 {font-family:var(--font-brand);font-size:clamp(48px,5.8vw,90px);font-weight:450;letter-spacing:-.045em;line-height:.98;margin:0;text-transform:none!important;color:#f7f9ff;}
#top.nu-world h2 {font-size:clamp(42px,5vw,76px);}
.nu-world-editorial p:not(.nu-world-kicker) {font-size:clamp(14px,1.1vw,17px);line-height:1.55;color:#b7c4d5;max-width:315px;margin:26px 0 0;text-wrap:pretty;}
.nu-world-editorial em {font-style:normal;color:var(--world-blue);}
.nu-world-action {display:inline-flex;pointer-events:auto;align-items:center;gap:35px;min-height:48px;margin-top:28px;font-size:14px;border-bottom:1px solid #b8efff80;}
.nu-world-action span {color:var(--world-blue);font-size:21px;}
.nu-world-coordinates {position:absolute;right:var(--page);top:125px;color:#8dacca;font-size:9px;letter-spacing:.15em;z-index:2;}
.nu-world-bottom {position:absolute;left:var(--page);right:var(--page);bottom:29px;z-index:3;}
.nu-world-waypoints {display:flex;align-items:center;gap:8px;margin-bottom:26px;}
.nu-world-waypoints button {display:none;background:transparent;border:0;color:#74859a;min-width:44px;min-height:44px;font-size:10px;padding:8px 10px;position:relative;}
.nu-world-waypoints button::after {content:'';position:absolute;left:10px;right:10px;bottom:2px;height:1px;background:#6b8eb544;}
.nu-world-waypoints button[aria-current="step"] {color:#d9f5ff;}
.nu-world-waypoints button[aria-current="step"]::after {background:#b8efff;}
.nu-world-scroll {display:flex;align-items:center;gap:12px;font-size:10px;color:#a2b6cd;margin-left:auto;}
.nu-world-scroll i {display:block;width:70px;height:1px;background:#35465c;position:relative;}
.nu-world-scroll i::after {content:'';position:absolute;inset:0;background:#b8efff;transform:scaleX(var(--world-progress,0));transform-origin:left;}
.nu-world-services {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;}
.nu-world-services a {display:grid;grid-template-columns:1fr auto;gap:12px 15px;border-top:1px solid #8bb3de40;padding:18px 0 8px;min-height:82px;}
.nu-world-services small {grid-column:1/-1;font-size:9px;letter-spacing:.12em;color:#a7b7cb;text-transform:uppercase;}
.nu-world-services strong {font-size:clamp(14px,1.2vw,19px);line-height:1.2;font-weight:440;}
.nu-world-services b {font-size:18px;color:#b8efff;font-weight:400;}
.nu-world-services a:hover {border-color:#b8efff;color:#b8efff;}
.nu-world a:focus-visible,.nu-world button:focus-visible {outline:2px solid #b8efff;outline-offset:6px;border-radius:2px;}
#top.nu-world.world-static {height:auto;}
.world-static .nu-world-waypoints button {display:none;}
.world-static .nu-world-scroll {margin-left:0;}
@media(max-width:1000px) and (min-width:701px){.nu-world-editorial{width:39%;top:25%;}.nu-world-services{gap:16px;}}
@media(max-width:700px){
 .js #top.nu-world {height:285svh;}
 #top.nu-world .nu-world-stage {min-height:780px;}
 .nu-world-editorial {top:116px;left:24px;right:24px;width:auto;max-width:none;}
 .nu-world-kicker {font-size:9px;margin-bottom:16px;}
 #top.nu-world h1,#top.nu-world h2 {font-size:clamp(40px,10vw,58px);max-width:90%;}
 .nu-world-editorial p:not(.nu-world-kicker) {font-size:13px;max-width:270px;margin-top:15px;}
 .nu-world-action {margin-top:12px;min-height:44px;font-size:12px;gap:26px;}
 .nu-world-canvas,.nu-world-fallback {left:0;width:100%;top:270px;height:calc(100% - 440px);min-height:300px;}
 .nu-world-stage::after {background:linear-gradient(0deg,#05080e,transparent 30%,transparent 70%,#05080e 88%);}
 .nu-world-coordinates {display:none;}
 .nu-world-bottom {left:24px;right:24px;bottom:20px;}
 .nu-world-waypoints {margin-bottom:12px;gap:0;}
 .nu-world-waypoints button {min-width:35px;padding-inline:6px;}
 .nu-world-scroll {font-size:9px;gap:8px;}.nu-world-scroll i {width:28px;}
 .nu-world-services {gap:0;grid-template-columns:1fr;}
 .nu-world-services a {display:flex;align-items:center;gap:8px;min-height:44px;padding:11px 0;}
 .nu-world-services small {order:2;font-size:7px;letter-spacing:.02em;margin-left:auto;white-space:nowrap;}
 .nu-world-services strong {order:1;font-size:12px;}
 .nu-world-services b {order:3;font-size:13px;}
}
@media(max-height:650px) and (min-width:701px){#top.nu-world .nu-world-stage{min-height:600px;}.nu-world-editorial{top:24%;}#top.nu-world h1,#top.nu-world h2{font-size:52px;}.nu-world-editorial p:not(.nu-world-kicker){margin-top:15px;}.nu-world-waypoints{margin-bottom:8px;}.nu-world-services a{min-height:64px;padding-top:10px;}.nu-world-action{margin-top:15px;}}
@media(prefers-reduced-motion:reduce){.js #top.nu-world{height:auto;}.nu-world-waypoints button{display:none;}.nu-world-scroll{margin-left:0;}}
@media(forced-colors:active){.nu-world-canvas,.nu-world-fallback{display:none;}.nu-world-services a{border-top:1px solid LinkText;}}

.js #top.nu-world:not(.world-static) .nu-world-waypoints button {display:block;}
@media(prefers-reduced-motion:reduce){.js #top.nu-world .nu-world-waypoints button{display:none;}}

@media(max-height:550px){
 #top.nu-world .nu-world-stage{min-height:360px;}
 .nu-world-editorial{top:88px;left:var(--page);width:36%;}
 #top.nu-world h1,#top.nu-world h2{font-size:32px;}
 .nu-world-kicker{font-size:7px;margin-bottom:10px;}
 .nu-world-editorial p:not(.nu-world-kicker){font-size:11px;line-height:1.4;margin-top:10px;}
 .nu-world-action{font-size:11px;min-height:36px;margin-top:8px;gap:12px;}
 .nu-world-canvas,.nu-world-fallback{left:0;top:0;width:100%;height:100%;min-height:0;}
 .nu-world-waypoints,.nu-world-coordinates{display:none;}
 .nu-world-bottom{bottom:10px;}
 .nu-world-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;}
 .nu-world-services a{display:grid;min-height:48px;padding:8px 0 0;gap:5px;grid-template-columns:1fr auto;}
 .nu-world-services small{order:0;grid-column:1/-1;margin:0;font-size:7px;}
 .nu-world-services strong{font-size:10px;}.nu-world-services b{font-size:12px;}
}

/* Size the composition within its actual browser frame, including zoomed windows.
   Text and navigation occupy grid rows so neither can fall off a short screen. */
#top.nu-world { container-type: inline-size; }
#top.nu-world .nu-world-stage {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  grid-template-rows: minmax(min-content, 1fr) auto;
  gap: clamp(24px, 4svh, 64px);
  padding: clamp(112px, 12svh, 172px) var(--page) 28px;
}
.nu-world-editorial {
  position: relative; inset: auto; width: 100%; max-width: 540px;
  min-width: 0; align-self: center;
}
#top.nu-world #home-cover-title, #top.nu-world h2 {
  font-size: clamp(40px, 5.8cqi, 96px);
  text-wrap: wrap; overflow-wrap: anywhere;
}
.nu-world-kicker { flex-wrap: wrap; font-size: 11px; }
.nu-world-action { max-width: 100%; gap: 20px; font-size: 15px; }
.nu-world-action span { flex: 0 0 auto; }
.nu-world-editorial p:not(.nu-world-kicker) { font-size: clamp(15px, 1.2cqi, 19px); max-width: 380px; }
.nu-world-bottom { position: relative; inset: auto; min-width: 0; grid-column: 1 / -1; }
.nu-world-waypoints { flex-wrap: wrap; }
.nu-world-waypoints button { font-size: 12px; flex-shrink: 0; }
.nu-world-scroll { font-size: 12px; min-height: 44px; }
.nu-world-services strong { font-size: clamp(15px, 1.4cqi, 22px); overflow-wrap: anywhere; }
.nu-world-services small { font-size: 10px; }
.nu-world-coordinates { top: 100px; max-width: calc(100% - 2 * var(--page)); text-align: right; }
@media (min-width: 1840px) {
  #top.nu-world .nu-world-stage { padding-top: clamp(132px, 12svh, 210px); }
}
@media (max-width: 800px), (max-height: 760px) {
  .js #top.nu-world { height: auto; min-height: 0; }
  #top.nu-world .nu-world-stage {
    position: relative; height: auto; min-height: 100svh;
    grid-template-rows: auto auto; padding-top: 112px;
  }
  .nu-world-editorial { align-self: center; }
  .nu-world-coordinates { display: none; }
  .nu-world-waypoints { display: flex; margin-bottom: 12px; }
  .js #top.nu-world .nu-world-waypoints button { display: none; }
  .nu-world-scroll { margin-left: 0; }
  .nu-world-services a { min-height: 72px; }
}
@media (max-width: 800px) {
  #top.nu-world .nu-world-stage { grid-template-columns: minmax(0, 1fr); padding-inline: clamp(18px, 5vw, 36px); gap: 36px; }
  .nu-world-editorial { max-width: 600px; }
  #top.nu-world #home-cover-title, #top.nu-world h2 { font-size: clamp(40px, 10cqi, 72px); max-width: 100%; }
  .nu-world-services { grid-template-columns: minmax(0,1fr); gap: 0; }
  .nu-world-services a { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px 12px; padding: 16px 0; }
  .nu-world-services small { grid-column: 1 / -1; order: 0; margin: 0; white-space: normal; }
  .nu-world-services strong { order: 1; font-size: 18px; }
  .nu-world-services b { order: 2; }
  .nu-world-kicker { font-size: 10px; }
  .nu-world-action { min-height: 48px; }
  .nu-world-fallback { inset: 0; width: 100%; height: 100%; min-height: 0; opacity: .35; }
}

/* Align the fixed header with the same centered frame as the page on wide screens. */
body:has(#top.nu-world) .site-header[data-site-nav] {
  left: 50%; right: auto; transform: translateX(-50%);
  width: calc(100% - 2 * var(--document-frame)); max-width: 1840px;
}

/* A separate mobile canvas keeps real 3D clear of the headline and links. */
.nu-world-visual { position: absolute; inset: 0; pointer-events: none; }
@media (max-width: 800px), (max-height: 760px) {
  #top.nu-world .nu-world-visual {
    position: relative; inset: auto; grid-column: 2; grid-row: 1;
    width: 100%; height: clamp(230px, 42vw, 360px); min-width: 0;
    z-index: 2; align-self: center;
  }
  #top .nu-world-visual .nu-world-canvas,
  #top .nu-world-visual .nu-world-fallback { inset: 0; width: 100%; height: 100%; min-height: 0; }
  #top.world-no-3d .nu-world-visual { display: block; }
}
@media (max-width: 800px) {
  #top.nu-world .nu-world-visual { grid-column: 1; grid-row: 2; height: clamp(260px, 80vw, 400px); }
  #top .nu-world-editorial { grid-column: 1; grid-row: 1; }
  #top .nu-world-bottom { grid-row: 3; }
}

/* Cinematic art direction: an architectural scene with its own breathing room. */
#top.nu-world .nu-world-stage {
  background: radial-gradient(ellipse at 76% 42%, #1c303b 0%, #0c1821 35%, #060b11 72%);
}
#top.nu-world .nu-world-stage::after {
  background: linear-gradient(90deg,#060b11 0%,#060b11a8 26%,transparent 48%),linear-gradient(0deg,#060b11,transparent 22%);
}
#top.nu-world .nu-world-visual { inset: 76px -2% 140px 33%; }
.nu-world-canvas { transition: opacity 900ms ease; }
.nu-world-coordinates { color: #b9aa91; letter-spacing: .18em; }
.nu-world-kicker { color: #c4b79e; }
.nu-world-kicker::before { background: #c4b79e; }
.nu-world-editorial em { color: #c8eced; }
.nu-world-action { padding-bottom: 8px; border-color: #a5c7cb66; transition: border-color .25s ease, color .25s ease; }
.nu-world-action:hover { border-color: #d1e9e8; color: #d1e9e8; }
.nu-world-action span { transition: transform .25s ease; }
.nu-world-action:hover span { transform: translate(3px,-3px); }
.nu-world-services a { transition: border-color .25s ease,color .25s ease; }
.nu-world-services small { color: #b9aa91; }
@media (min-width: 801px) and (min-height: 761px) {
  #top.nu-world .nu-world-stage { grid-template-columns: minmax(0,.85fr) minmax(0,1.35fr); }
  .nu-world-editorial { max-width: 480px; }
  #top.nu-world #home-cover-title, #top.nu-world h2 { font-size: clamp(56px,5.5cqi,96px); }
}
@media (max-width: 800px), (max-height: 760px) {
  #top.nu-world .nu-world-visual { inset: auto; height: clamp(280px,46vw,480px); }
  #top.nu-world .nu-world-stage::after { background: linear-gradient(0deg,#060b11,transparent 18%); }
}
@media (max-width: 800px) {
  #top.nu-world .nu-world-visual { height: clamp(310px,91vw,520px); width: calc(100% + 24px); margin-left: -12px; }
  #top.nu-world .nu-world-editorial { max-width: 540px; }
  #top.nu-world #home-cover-title { font-size: clamp(48px,12cqi,78px); line-height: .98; }
  #top.nu-world .nu-world-kicker { margin-bottom: 20px; font-size: 9px; letter-spacing: .15em; }
  #top.nu-world .nu-world-editorial p:not(.nu-world-kicker) { max-width: 320px; }
}
@media (prefers-reduced-motion: reduce) {
  #top.nu-world .nu-world-canvas, #top.nu-world a, #top.nu-world a span { transition: none; }
}
#top.nu-world .nu-world-visual {
  -webkit-mask-image: linear-gradient(90deg,transparent,#000 6%,#000 95%,transparent),linear-gradient(0deg,transparent,#000 6%,#000 96%,transparent);
  mask-image: linear-gradient(90deg,transparent,#000 6%,#000 95%,transparent),linear-gradient(0deg,transparent,#000 6%,#000 96%,transparent);
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
}
@media (min-width: 801px) and (min-height: 761px) {
  #top.nu-world h2 { font-size: clamp(48px,4.4cqi,76px); }
}
@media (max-width: 800px) {
  #top.nu-world .nu-world-visual { height: clamp(260px,72vw,420px); }
}

#top .nu-world-fallback { opacity: 1; transition: opacity .3s ease; }
#top .has-webgl .nu-world-fallback { opacity: 0; }

/* A touch tour gives the phone scene a purpose without another pillar button list. */
.nu-world-mobile-tour { display: none; }
@media (max-width: 800px), (max-height: 760px) {
  #top.nu-world .has-webgl .nu-world-visual { pointer-events: auto; touch-action: pan-y pinch-zoom; cursor: grab; }
  #top.nu-world .has-webgl .nu-world-visual:active { cursor: grabbing; }
  #top.nu-world .nu-world-visual { height: clamp(290px,78vw,420px); }
  #top.nu-world .has-webgl .nu-world-mobile-tour { display: block; grid-column: 2; grid-row: 2; z-index: 3; min-width: 0; }
  #top.nu-world .nu-world-bottom { grid-row: 3; }
  .nu-world-tour-hint { margin: 0 0 12px; color: #98afb9; text-align: center; font-size: 11px; }
  .nu-world-tour-bar { display: grid; grid-template-columns: 46px minmax(0,1fr) 46px; align-items: center; gap: 10px; padding-block: 12px; border-block: 1px solid #b2ced32e; }
  .nu-world-tour-bar p { display: grid; gap: 6px; margin: 0; text-align: center; }
  .nu-world-tour-bar small { font-size: 9px; color: #b9aa91; letter-spacing: .14em; }
  .nu-world-tour-bar strong { font-size: 15px; color: #dcebed; font-weight: 450; }
  .nu-world-tour-bar button { display: grid; place-items: center; width: 46px; min-height: 46px; padding: 0; border: 1px solid #9cb9bf55; border-radius: 50%; background: #a8c5c908; color: #d7eef0; font-size: 23px; touch-action: manipulation; }
  .nu-world-tour-bar button:disabled { opacity: .25; cursor: default; }
}
@media (max-width: 800px) {
  #top.nu-world .has-webgl .nu-world-mobile-tour { grid-column: 1; grid-row: 3; margin-top: -16px; }
  #top.nu-world .nu-world-bottom { grid-row: 4; }
}
#top .nu-world-kicker, #top .nu-world-services small, #top .nu-world-tour-bar small { color: #d3b375; }
#top .nu-world-kicker::before { background: #d3b375; }
#top .nu-world-tour-bar button { border-color: #c69a4666; color: #edd09c; }
@media (max-width: 800px), (max-height: 760px) {
  .nu-world-tour-bar strong { min-height: 36px; display: grid; align-items: center; line-height: 1.2; }
}
/* Keep the viewer and its controls together when the headline is alongside them. */
.nu-world-explorer { display: contents; }
@media (max-width: 800px), (max-height: 760px) {
  #top .nu-world-explorer { display: grid; grid-column: 2; grid-row: 1; align-self: center; min-width: 0; }
  #top.nu-world .nu-world-explorer .nu-world-visual { grid-column: 1; grid-row: 1; }
  #top.nu-world .has-webgl .nu-world-explorer .nu-world-mobile-tour { grid-column: 1; grid-row: 2; margin-top: 0; }
  #top.nu-world .nu-world-bottom { grid-row: 2; }
}
@media (max-width: 800px) {
  #top .nu-world-explorer { grid-column: 1; grid-row: 2; }
  #top.nu-world .nu-world-bottom { grid-row: 3; }
}
@media (min-width: 801px) and (max-height: 500px) {
  #top.nu-world .nu-world-explorer .nu-world-visual { height: 220px; }
}
