/* NEO EARTH — quiet editorial opening / 2026-10-11
   Original mark and brand colors preserved. The existing hero and content
   pages remain untouched. Light editorial opening > dark cinematic skyline. */

/* Brand image in the existing header and footer */
.neo-brand-image{display:block;width:clamp(202px,23vw,302px);max-width:100%;height:auto;object-fit:contain;mix-blend-mode:screen;filter:drop-shadow(0 0 9px rgba(64,161,242,.11))}
.neo-header .neo-brand{min-width:0;flex-shrink:0}
.neo-footer-brand-image{display:block;width:clamp(210px,26vw,292px);height:auto;object-fit:contain;mix-blend-mode:screen}
.neo-footer-actions{display:flex;align-items:center;gap:clamp(17px,2.8vw,42px);flex-wrap:wrap}
.neo-intro-replay{min-height:44px;padding:8px 0;border:0;border-bottom:1px solid rgba(111,186,221,.48);background:transparent;color:#a7d9f3;letter-spacing:.14em;font-size:10px;font-weight:750;display:inline-flex;align-items:center;gap:12px;cursor:pointer;transition:color .2s,border-color .2s}
.neo-intro-replay:hover,.neo-intro-replay:focus-visible{color:#eafaff;border-color:#a8edff}

/* The experience: one still surface, never sliding curtain panels. */
.neo-intro{position:fixed;inset:0;z-index:1000;isolation:isolate;overflow:hidden;visibility:hidden;opacity:0;pointer-events:none;background:radial-gradient(ellipse 90% 76% at 50% 43%,#fff 0%,#fafbfd 66%,#f1f5f8 100%);transition:opacity .84s cubic-bezier(.25,.65,.25,1),visibility .84s}
.neo-intro::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 25%,rgba(198,216,230,.16) 53%,transparent 78%);opacity:.4}
html.neo-intro-pending .neo-intro,.neo-intro.is-active{visibility:visible;opacity:1;pointer-events:auto}
/* Keep native page scrolling available while the non-blocking opening is visible. */
.neo-intro-panel{display:none!important}
.neo-intro-center{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(20px,5vw,60px);pointer-events:none;opacity:1;transform:translateZ(0)}
.neo-intro-logo{display:block;width:min(74vw,540px);height:auto;max-height:68svh;object-fit:contain;opacity:0;transform:translate3d(0,12px,0) scale(.986);filter:blur(3px);transition:opacity .76s cubic-bezier(.16,1,.3,1),transform 1.02s cubic-bezier(.16,1,.3,1),filter .76s}
.neo-intro.is-ready .neo-intro-logo{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
.neo-intro-flare{position:relative;top:auto;left:auto;margin-top:clamp(4px,1.4vh,15px);width:min(130px,30vw);height:1px;background:linear-gradient(90deg,transparent,#255c8d 45%,#639bc1 65%,transparent);box-shadow:none;opacity:0;transform:scaleX(0);transform-origin:center;transition:transform .8s cubic-bezier(.18,.67,.2,1) .47s,opacity .5s ease .47s;animation:none!important}
.neo-intro.is-ready .neo-intro-flare{opacity:.58;transform:scaleX(1)}
.neo-intro-center p{display:none}
.neo-intro.is-exiting{opacity:0;pointer-events:none}
.neo-intro.is-exiting .neo-intro-logo{opacity:0;transform:translate3d(0,-4px,0) scale(1.013);filter:blur(1px)}
.neo-intro.is-exiting .neo-intro-flare{opacity:0;transform:scaleX(1.25)}

/* Deliberately understated skip control */
.neo-intro-skip{position:absolute;z-index:3;top:clamp(18px,3.5vw,42px);right:clamp(18px,4vw,60px);min-height:44px;padding:10px 7px;border:0;border-bottom:1px solid rgba(55,81,101,.24);background:transparent;color:#45596b;display:inline-flex;align-items:center;gap:13px;font:650 10px/1.3 'DM Sans','Noto Sans JP',sans-serif;letter-spacing:.24em;cursor:pointer;transition:color .2s,border-color .2s}
.neo-intro-skip span{font-size:14px;line-height:1}
.neo-intro-skip:hover,.neo-intro-skip:focus-visible{color:#064d8e;border-bottom-color:#064d8e}
.neo-intro-skip:focus-visible{outline:2px solid #1262a5;outline-offset:5px}

/* Keep the existing dedicated mobile hero untouched except its artwork. */
@media(max-width:900px){
  .neo-brand-image{width:min(64vw,238px)}
  .has-reference-hero .ref-mobile-backdrop{background-image:url('/neo-mobile-night.webp');background-position:36% 38%;background-size:cover;filter:saturate(1.08) contrast(1.04)}
  .has-reference-hero .ref-mobile-vignette{background:linear-gradient(180deg,rgba(0,5,14,.9) 0%,rgba(0,5,13,.63) 23%,rgba(0,8,19,.27) 48%,rgba(0,5,14,.27) 65%,rgba(0,5,14,.95) 81%,#010713 100%),linear-gradient(90deg,rgba(0,4,12,.6),rgba(0,4,12,.04))}
  .neo-intro-logo{width:min(89vw,410px);max-height:57svh}
  .neo-footer-actions{width:100%;justify-content:space-between}
  .neo-intro-replay{font-size:9px}
  .neo-intro-flare{margin-top:8px;width:min(100px,28vw)}
}
@media(max-width:380px){
  .neo-brand-image{width:min(62vw,215px)}
  .neo-intro-logo{width:min(92vw,350px)}
}
@media(prefers-reduced-motion:reduce){
  .neo-intro,.neo-intro-logo,.neo-intro-flare,.neo-intro-skip,.neo-intro-replay{transition:none!important;animation:none!important}
  .neo-intro.is-ready .neo-intro-logo{opacity:1;transform:none;filter:none}
  .neo-intro-flare{display:none}
}
