.elementor-9627 .elementor-element.elementor-element-6349679{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9627 .elementor-element.elementor-element-575df34{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-9627 .elementor-element.elementor-element-7a56dc3{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9627 .elementor-element.elementor-element-bbe3944{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-9627 .elementor-element.elementor-element-ac562eb{--spacer-size:50px;}body.elementor-page-9627:not(.elementor-motion-effects-element-type-background), body.elementor-page-9627 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}/* Start custom CSS */@import url("https://fonts.googleapis.com/css2?family=Boldonse&display=swap");

@font-face {
  font-family: "PPSupplyMono";
  src: url("https://assets.codepen.io/7558/PPSupplyMono-Variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { width: 100%; height: 100%; overflow: hidden; background-color: #111; letter-spacing: -0.03em; }

/* Preloader Styles */
.preloader {
  position: fixed; top: 0; left: 0; width: 100%; height: 100%;
  background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 50%, #0a0a0a 100%);
  display:flex; justify-content:center; align-items:center; z-index:10000;
  opacity:1; transition: opacity 1s ease-out;
}
.preloader.fade-out { opacity:0; pointer-events:none; }

.preloader-content { text-align:center; color:#e0e0e0; }

.ghost-loader { position:relative; width:64px; height:64px; margin:0 auto 30px; display:flex; justify-content:center; align-items:center; }
.ghost-svg { filter: drop-shadow(0 0 20px rgba(255,255,255,0.3)); animation: ghostFloat 3s ease-in-out infinite; }
.ghost-body { fill:white; opacity:0.9; }
.ghost-eye { fill:black; animation: eyePulse 2s ease-in-out infinite; transform-origin:center; }
.left-eye { animation-delay: 0s; }
.right-eye { animation-delay: 0.1s; }

@keyframes ghostFloat { 0%,100%{ transform:translateY(0px); } 50%{ transform:translateY(-8px); } }
@keyframes eyePulse { 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.3); } }

.loading-text { font-family:"PPSupplyMono", monospace; font-size:12px; text-transform:uppercase; opacity:1; margin-bottom:12px; animation:textPulse 2s ease-in-out infinite; }
@keyframes textPulse { 0%,100%{ opacity:1; } 50%{ opacity:0.1; } }

.loading-progress { width:96px; height:1px; margin:0 auto; border-radius:1px; overflow:hidden; }
.progress-bar { height:100%; background: linear-gradient(90deg,#00ff80,#00cc66); opacity:0.1; width:0%; transition:width 0.8s ease; }

/* Main Content Styles */
.content {
  position: fixed; top:0; left:0; width:100%; height:100%; display:flex; flex-direction:column; justify-content:center; align-items:center;
  padding:20px; text-align:center; color:#e0e0e0; opacity:0; transition:opacity 1.5s ease-in; z-index:1;
}
.content.fade-in { opacity:1; }

.quote-container { max-width:90%; overflow:hidden; }
.quote { font-family:"Boldonse", system-ui; font-size:6vw; line-height:1.3; font-weight:400; letter-spacing:-0.02em; margin-bottom:5vh; text-transform:uppercase; }
.author { font-family:"PPSupplyMono", monospace; font-size:12px; text-transform:uppercase; opacity:0.7; margin-top:2vh; }

/* Canvas container (threejs) fills screen; canvas itself positioned absolute */
#threejs-container { position: fixed !important; top:0; left:0; width:100%; height:100%; pointer-events:auto; z-index:2; }
#threejs-container canvas { width:100% !important; height:100% !important; display:block; opacity:0; transition:opacity 2s ease-in; }
#threejs-container canvas.fade-in { opacity:1 !important; }/* End custom CSS */