/* Apply the WiWy graphite / cyan grade ONLY to the first scene. */
:root{--wiwy-ink:#08090b;--wiwy-silver:#ececea;--wiwy-muted:#8a9298;--wiwy-glow:#6d9195}
#intro .hero-stage{
  background:radial-gradient(ellipse at 50% 65%,#1c282b 0%,#101518 34%,#080a0c 76%);
}
#intro #core{
  filter:contrast(1.09) saturate(.53) brightness(.89);
}
#intro .hero-stage::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(6,7,9,.26) 0%,transparent 38%,rgba(6,7,9,.22) 76%,rgba(6,7,9,.52) 100%),
    radial-gradient(ellipse 92% 92% at 50% 45%,transparent 46%,rgba(5,6,8,.4) 100%);
}
/* The second scene plays in the exact colours encoded in the source MP4. */
#robot .robot-poster,#robot #robot-video{filter:none;transition:opacity .42s ease}
#robot .robot-shade{display:none}
#robot .robot-caption h2{text-shadow:0 1px 24px rgba(0,0,0,.5)}
/* Exact changes to the loading experience only. Main sections remain untouched. */
html.is-loading { scroll-behavior:auto }
html.is-loading, html.is-loading body { overflow:hidden !important }
#site-preloader {
  position:fixed; inset:0; z-index:99999; isolation:isolate;
  background:#07090a; color:#f2f2f0; display:flex; flex-direction:column;
  padding:clamp(22px,3.7vw,66px);
  font-family:Space,Arial,sans-serif;
  visibility:visible; opacity:1;
  transition:opacity .75s cubic-bezier(.2,.68,.2,1),visibility .75s;
}
#site-preloader::before {
  content:""; pointer-events:none; position:absolute; inset:0; z-index:-1;
  background:radial-gradient(ellipse 48% 56% at 50% 49%,rgba(33,46,50,.37),transparent 82%),
             linear-gradient(90deg,transparent 49.96%,rgba(210,225,227,.025) 50%,transparent 50.04%);
}
#site-preloader::after {
  content:""; pointer-events:none; position:absolute; inset:0; z-index:-1; opacity:.24;
  background-image:linear-gradient(rgba(217,227,228,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(217,227,228,.06) 1px,transparent 1px);
  background-size:94px 94px;mask-image:radial-gradient(ellipse at center,black 9%,transparent 78%);
}
#site-preloader.is-ready { opacity:0; visibility:hidden; pointer-events:none }
.load-head,.load-foot { display:flex; align-items:center; justify-content:space-between; gap:15px; position:relative; z-index:2 }
.load-head { min-height:43px }
.load-brand { display:flex; gap:11px; align-items:center; font-size:27px; font-weight:700; letter-spacing:-.065em }
.load-brand img { width:28px; height:28px; object-fit:contain; filter:grayscale(1) brightness(4) }
.load-topnote,.load-foot,.load-eyebrow,.load-meta { font-family:Mono,monospace; font-weight:400; font-size:10px; letter-spacing:.16em }
.load-topnote { color:#aeb9ba }
.load-foot { color:#8f9a9b; font-size:9px }
.load-stage { flex:1; min-height:0; display:grid; place-items:center; position:relative }
.load-halo { width:min(73vw,650px); aspect-ratio:1; position:absolute; left:50%; top:48%; transform:translate(-50%,-50%); pointer-events:none; z-index:0; opacity:.64 }
.load-halo::before {content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,rgba(160,185,187,.065),transparent 58%);}
.load-halo span { position:absolute; inset:11%; border:1px solid rgba(190,211,215,.055); border-radius:50%; animation:load-halo-pulse 5.8s ease-in-out infinite }
.load-halo span:nth-child(2) { inset:25%; opacity:.68; animation-delay:-1.8s }
.load-halo span:nth-child(3) { inset:37%; opacity:.48; animation-delay:-3.6s }
.load-content { width:min(440px,100%); position:relative; text-align:center; z-index:1; transform:translateY(-8px) }
.load-eyebrow { color:#afbabc; margin:0 0 8px; animation:load-fade .9s ease both }
.load-wordmark { font-size:clamp(91px,14vw,166px); font-weight:600; letter-spacing:-.105em; line-height:1.07; padding-right:.09em; margin:0 0 clamp(42px,5.5vh,64px); animation:load-reveal 1.2s cubic-bezier(.16,1,.3,1) both; text-shadow:0 0 72px rgba(174,205,208,.08) }
.load-period { color:#92aab0 }
.load-meta { display:flex; align-items:center; justify-content:space-between; gap:22px; color:#a5afb1; margin-bottom:15px; font-size:10px; letter-spacing:.14em; text-align:left }
#preloader-percent { font-size:14px; letter-spacing:0; color:#ededeb; font-variant-numeric:tabular-nums }
.load-rail { overflow:hidden; background:rgba(219,233,237,.24); width:100%; height:1px }
.load-rail span { display:block; width:0; height:100%; background:#f5f7f7; box-shadow:0 0 15px #d0e1e2; transition:width .18s ease-out }
.load-recovery { padding-top:35px; font-size:13px; color:#cad2d2 }
.load-recovery[hidden] { display:none !important }
.load-recovery p { margin:0 0 20px; font-size:14px; line-height:1.55 }
.load-actions { display:flex; gap:12px; justify-content:center; flex-wrap:wrap }
.load-actions button { border:1px solid #728084; background:transparent; color:#f1f2f2; padding:12px 16px; font-size:12px; transition:background .2s,color .2s }
.load-actions button:hover {background:#f2f4f4;color:#111}
.load-actions button:last-child {background:#f2f4f4;color:#111}
.load-actions button:last-child:hover {background:#b4bfc2}
@keyframes load-halo-pulse {0%,100% {transform:scale(.965);opacity:.58}50% {transform:scale(1.045);opacity:1}}
@keyframes load-reveal {from {opacity:0;transform:translateY(20px);filter:blur(8px)}to {opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes load-fade {from {opacity:0}to {opacity:1}}
@media(max-width:650px) {
  #site-preloader {padding:24px 22px 26px}
  .load-topnote {display:none}
  .load-foot span:last-child {display:none}
  .load-wordmark {margin-bottom:38px}
  .load-halo {width:95vw}
  .load-meta {font-size:9px}
}
@media(prefers-reduced-motion:reduce) {
  #site-preloader {transition:none}
  .load-wordmark,.load-eyebrow,.load-halo span {animation:none}
  #robot .robot-poster,#robot #robot-video {transition:none}
}
