/* Page-scoped integration. The shared header and footer keep their existing styles and interactions. */
body.gn2-wol3d-page{background:#050505;color:#f4f2ec;}
.gn2-wol3d-page .g2main.wol3d{display:block;width:100%;max-width:none;margin:0;padding:0;}
#gn2-wol3d{position:relative;background:#050505;color:#f4f2ec;font-family:'Neue Haas Grotesk Text',sans-serif;}
/* The viewport stays pinned only during the journey, then leaves in normal document flow. */
#gn2-wol3d [data-wol-ref="stage"]{z-index:0;}
#gn2-wol3d.is-ready [data-wol-ref="stage"]::after{content:"";position:absolute;inset:auto 0 0;height:clamp(80px,18vh,220px);background:linear-gradient(transparent,#0b0b0b);opacity:0;transition:opacity .6s;pointer-events:none;}
#gn2-wol3d.is-ending [data-wol-ref="stage"]::after{opacity:1;}
#gn2-wol3d [data-label] h1,#gn2-wol3d [data-label] h2{max-width:none;text-transform:none;}
#gn2-wol3d [data-label] a:hover{background:#b6ff00!important;color:#050505!important;}
#gn2-wol3d [data-label="5"] a:first-child:hover{background:#050505!important;color:#b6ff00!important;}
#gn2-wol3d [data-label="5"] a:last-child:hover{background:#f2efe6!important;color:#050505!important;}
#gn2-wol3d a:focus-visible{outline:3px solid #b6ff00;outline-offset:5px;}
#gn2-wol3d [data-tag]{position:absolute;left:0;top:0;transform-origin:0 0;display:flex;align-items:center;gap:14px;white-space:nowrap;opacity:0;visibility:hidden;font-family:'IBM Plex Mono',monospace;font-size:36px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#e8e5dc;}
#gn2-wol3d [data-tag]>span:first-child{display:block;width:12px;height:12px;background:#b6ff00;}
#gn2-wol3d .wol3d-rail{position:fixed;z-index:10;right:clamp(16px,3vw,40px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:flex-end;gap:0;transition:opacity .3s;}
#gn2-wol3d .wol3d-rail[hidden]{display:none;}
#gn2-wol3d .wol3d-rail a{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-height:44px;min-width:44px;padding:0 4px;background:none;border:0;cursor:pointer;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#8f8c83;text-decoration:none;transition:color .2s;}
#gn2-wol3d .wol3d-rail a[aria-current]{color:#b6ff00;}
#gn2-wol3d .wol3d-tick{display:block;height:1px;width:10px;background:currentColor;transition:width .3s cubic-bezier(.16,1,.3,1);}
#gn2-wol3d [aria-current] .wol3d-tick{width:28px;}
#gn2-wol3d .wol3d-rail.is-mobile{right:8px;top:auto;bottom:max(10px,env(safe-area-inset-bottom));transform:none;flex-direction:row;}
#gn2-wol3d .wol3d-rail.is-mobile .wol3d-tick{width:0;}
#gn2-wol3d .wol3d-rail.is-mobile [aria-current] .wol3d-tick{width:10px;}
@media(max-width:759px),(max-aspect-ratio:4/5){
  #gn2-wol3d .wol3d-actions{flex-direction:column;align-items:flex-start;}
  #gn2-wol3d .wol3d-actions a{min-height:132px!important;font-size:38px!important;padding-inline:56px!important;}
}
/* Content is readable before animation starts and if WebGL/JavaScript is unavailable. */
#gn2-wol3d:not(.is-ready) [data-wol-ref="stage"],
#gn2-wol3d:not(.is-ready) [data-wol-ref="view"],
#gn2-wol3d:not(.is-ready) [data-wol-ref="cam"]{position:relative!important;inset:auto!important;overflow:visible!important;width:auto!important;height:auto!important;pointer-events:auto!important;}
#gn2-wol3d:not(.is-ready) [data-label]{position:relative!important;inset:auto!important;visibility:visible!important;opacity:1!important;transform:none!important;width:auto!important;max-width:1100px;margin:auto;padding:120px clamp(24px,6vw,80px) 70px;text-shadow:none!important;}
#gn2-wol3d:not(.is-ready) [data-label] h1>span:first-child,
#gn2-wol3d:not(.is-ready) [data-label]>div:first-child{font-size:12px!important;gap:14px!important;margin-bottom:24px!important;}
#gn2-wol3d:not(.is-ready) [data-label] h1>span:last-child,
#gn2-wol3d:not(.is-ready) [data-label] h2{font-size:clamp(42px,7vw,94px)!important;}
#gn2-wol3d:not(.is-ready) [data-label] p{font-size:clamp(18px,2.5vw,28px)!important;margin-top:24px!important;}
#gn2-wol3d:not(.is-ready) [data-label] a{font-size:14px!important;min-height:48px!important;padding:14px 22px!important;}
#gn2-wol3d:not(.is-ready) [data-label="4"]>div:last-child{font-size:14px!important;}
#gn2-wol3d:not(.is-ready) [data-wol-ref="spacer"],
#gn2-wol3d:not(.is-ready) [data-wol-ref="cue"],
#gn2-wol3d:not(.is-ready) [data-wol-ref="gl"],
#gn2-wol3d:not(.is-ready) [data-wol-tags],
#gn2-wol3d:not(.is-ready) .wol3d-rail{display:none!important;}
@media(prefers-reduced-motion:reduce){#gn2-wol3d *{transition:none!important;}}
